选择专业的词
避免使用空洞的词汇
找到更有表现力的词
清晰和精确比装可爱好
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111821994-1480113906.png)
避免泛泛的名字(或者要知道什么时候使用它)
避免像tmp,retval, foo这样的泛泛的名字
循环迭代器的变量名i, j, iter, it 作为多重迭代的变量时,为了避免索引歧义,可以用精确的变量名字
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111822353-1069548767.png)
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111822509-1329188017.png)
用具体的名字代替抽象的名字
在给变量,函数或者其他元素命名的时候,要把它描述的更具体而不是抽象
使用前缀或后缀来给名字附带更多的信息
为名字附带更多的信息
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111822665-899457015.png)
带单位的值 - 如果变量是一个度量,最好把名字带上单位
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111822806-1043160823.png)
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111822962-15515844.png)
附带其他重要属性
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111823150-209347735.png)
![](https://images2017.cnblogs.com/blog/451132/201712/451132-20171226111823353-1462550731.png)
决定名字的长度 - 名字不能太长
在小的作用域里可以使用短的名字首字母缩略词缩写 时候合适
原则:团队新成员是否能理解这个名字的含义
丢掉没用的词 -- 比如 ConvertToString 不如ToString
利用名字的格式来传递含义
c#:帕斯卡方式 命名类 方法,属性, 驼峰方式命名私有变量
其他格式规范
JavaScript: 构造函数用帕斯卡命名,普通函数用驼峰命名
jQuery: jquery 返回的结果变量也用 $前缀
html/css: 表示id的词汇用下滑线连接,表示class的用连接线连接