代码整洁

2018-07-31  本文已影响0人  过来摸摸头丶



1.整洁的代码

“破窗理论”:窗户破损了的建筑让人觉着似乎没人照管,于是别人也不再关心。他们放任窗户继续破损,最终自己也参加破坏活动,在外墙上涂鸦,任垃圾堆积,一扇破损的窗户开辟了大厦走向倾颓的道路。


有意义的命名

命名规则

1.名副其实

选个好名字要花时间,但省下来的时间比花掉的多。一旦发现有更好的命名,就换掉旧的。如果命名需要注释来补充,那就不算名副其实。

image

初步修改:

image

最终修改:

image

2.避免误导

避免留下掩藏代码本意的错误线索,如hp、aix它们是UNIX平台的专有名称。

3.做有意义的区分

·    以数字系列命名(a1,a2……)纯属误导,下面的参数名为source和destination会好许多。

image

·    废话都是冗余,看下面的变量名:

image

程序员怎么知道该调用哪个函数呢?mountAmount和money没区别,customerInfo和customer没区别,要区分名称,就要以读者能鉴别不同指出的方式来区分。

4.使用读得出来的名称

有家公司,程序里写了该genymdhms(生成日期,年月日、时分秒),他们一般读作"gen-yah-mudda-hims"。比较下面(哈哈)

image

5.使用可搜索的名称

单字母名称和数字常量很难在大篇文字中找出来。找MAX_CLASSES_STUDENT很容易,但是找数字7就很麻烦。

6.避免使用编码

编码已经很多来,不要自找麻烦

7.避免思维映射

不应该让读者在闹钟把你的名称翻译为他们熟知的名称。在作用域小,也没有名称冲突时,循环计数器自然有可能被命名为i或j。然而,在多数其他情况下,但单字母名称不是个好选择。

8.类名

类名和对象名应该是名次或名次短语,如Customer、WikiPage,类名不应是动词。

9.方法名

方法吗应该是动词短语。如postPayment、deletePage

10.不用双关语

11.使用解决方案领域名称

尽管用计算机科学术语、算法名、模式名、数学术语吧,只有程序员会读你的代码。

12.使用所涉问题领域的来源名称

如果不能用程序员熟悉的术语,那就从所涉问题领域而来的名称,负责维护代码的程序员就能去请教领域专家了。

13.添加有意义的语境

image image


上一篇 下一篇

猜你喜欢

热点阅读