1.整洁的代码
“破窗理论”:窗户破损了的建筑让人觉着似乎没人照管,于是别人也不再关心。他们放任窗户继续破损,最终自己也参加破坏活动,在外墙上涂鸦,任垃圾堆积,一扇破损的窗户开辟了大厦走向倾颓的道路。
有意义的命名
命名规则
1.名副其实
选个好名字要花时间,但省下来的时间比花掉的多。一旦发现有更好的命名,就换掉旧的。如果命名需要注释来补充,那就不算名副其实。
image初步修改:
image最终修改:
image2.避免误导
避免留下掩藏代码本意的错误线索,如hp、aix它们是UNIX平台的专有名称。
3.做有意义的区分
· 以数字系列命名(a1,a2……)纯属误导,下面的参数名为source和destination会好许多。
image· 废话都是冗余,看下面的变量名:
image程序员怎么知道该调用哪个函数呢?mountAmount和money没区别,customerInfo和customer没区别,要区分名称,就要以读者能鉴别不同指出的方式来区分。
4.使用读得出来的名称
有家公司,程序里写了该genymdhms(生成日期,年月日、时分秒),他们一般读作"gen-yah-mudda-hims"。比较下面(哈哈)
image5.使用可搜索的名称
单字母名称和数字常量很难在大篇文字中找出来。找MAX_CLASSES_STUDENT很容易,但是找数字7就很麻烦。
6.避免使用编码
编码已经很多来,不要自找麻烦
7.避免思维映射
不应该让读者在闹钟把你的名称翻译为他们熟知的名称。在作用域小,也没有名称冲突时,循环计数器自然有可能被命名为i或j。然而,在多数其他情况下,但单字母名称不是个好选择。
8.类名
类名和对象名应该是名次或名次短语,如Customer、WikiPage,类名不应是动词。
9.方法名
方法吗应该是动词短语。如postPayment、deletePage
10.不用双关语
11.使用解决方案领域名称
尽管用计算机科学术语、算法名、模式名、数学术语吧,只有程序员会读你的代码。
12.使用所涉问题领域的来源名称
如果不能用程序员熟悉的术语,那就从所涉问题领域而来的名称,负责维护代码的程序员就能去请教领域专家了。
13.添加有意义的语境
image image
网友评论