I didn't find answer of my question. Why we cannot change name of thing? One of the reason should be that using thing name on script case such as; services, edge sdk etc. but we can change name of the properties or parameter name of service. They might be used too on script file. I didn't find logically answer for this question.
I just want to discuss that what is the reason of this case?
Well, as per my understanding it's normal, you always have a "PK value" for an object, and that's what Thing's Name stands for, what we had done it's create a new property on all the things which it's our Thing's Name and always can be changed.