1.名副其实,言之有物
(1)避免无意义的命名,如用单个字母作为变量名.
(2)避免魔法数字,或者通过下标进行的判断,如if(x[0] == 4),用常量来代替这些数字
2.避免误导
(1)不要使用类似accountList这样的变量名,除非它真的是一个list
(2)两个较长且区别很小的变量名极易误导读者.
(3)不要单独使用O,l来命名变量,能分辨出前面打的是O还是0,是l还是1吗?
3.做有意义的区分
(1)避免a1,a2,a3这样的命名
(2)避免无意义区分:ProductInfo,ProductData有什么区别?
(3)避免冗余,如nameString这样的变量名,name难道可以是浮点数不成?
4.使用可读的名字:避免形如yyddmm这样的变量名
5.使用可搜索的名称------MAX_CLASS_PER_STUDENT比数字7好得多,尤其是当你的代码量很大时
6.避免使用类型编码-----如匈牙利命名法
7.类名用名词,函数名用动词,不要使用俗话俚语
8.每个概念对应一个词,当你使用了作为manager类名的一部分,就不要再使用controler这样的近义词来命名其他类.
9.同样,不要在命名中出现一次多义
10.使用计算机术语命名是个不错的选择,如visitor
11.专业领域的名词也可以作为命名的选择之一
12.添加有意义的语境,做好的方法是把语境中的这些词放在一个类中
13.不要添加没有意义的语境,比如把类名的缩写作为成员变量的开头.
感想:
聚沙成塔,集腋成裘,千里之行,始于足下.
命名是最简单的事,简单到可以是i,j,k;也是最复杂的是,复杂到父母翻遍了字典,问遍了亲戚朋友,也不能给孩子起一个理想的名字.
从某种意义上说,程序员是自己写得代码的的父母,何不稍尽义务,让每个变量(函数,类......)有一个令你满意的名字?