代码整洁之道——第二章
-
介绍
软件开发中随出可见命名,我们经常给变量、函数、参数、类和封包命名以及各种文件命名。因此我们不妨做好它,从而实现代码的可读性。 -
名副其实
代码的命名应当选择体现本意的名称,从而让人更加容易理解和修改代码。
例如:①int d; //消逝的时间,以日计;
②int timeLostInDays;
如果以①的方式来命名的话,需要添加注释来进行补充,而使用了注释那就不算是名副其实了;而②的方式从单词本身的意思(以日计算消逝的时间)就实现了名副其实了。 -
避免误导
程序员应当避免留下隐藏代码本意的错误线索。
例如:别用accountList来制定一组账号,除非它真的是List类型。因为List一词对程序员来说具有特殊的含义(代表List集合)。
那可以使用accountGroup或者accounts老表示一组账号。 -
做有意义的区分
废话是一种没有意义的区分。
例如:①String NameString;
String Name;这两个命名方式就是没有意义的区分,阅读者根本不知道如何鉴别者两种变量的区别。
②getActiveAccount(){}
getActiveAccountInfo(){}
也是一种没有意义的区分。 -
使用读得出来的名称
这个就直接写例子:
class Customer{
private Date geTiStamp;
private Date modTiStamp;
private final String reId = "102";
}
class Customer{
private Date generationTimeStamp;
private Date modificationTimeStamp;
private final String recordId = "102";
}
通过上面代码的比对了解,第一段代码明显很难做到阅读,因为这是代码编写者自创的一种语言,很容易让人感觉到懵逼,而第二种就具有很强的阅读性,易于代码的可读。
-
使用可搜索的名称
单字母名称和数字常量有一个问题就是很难在一大篇文字中找出来。找MAX_CLASSES_PER_STUDENT很容易而找数字7就很麻烦了。 -
避免使用编码
因为编码已经太多了,无需再自找麻烦了。像numberStr如果更改了类型那将会误导阅读代码的读者,以为它是String类型。 -
类名以及方法名的命名
类名和对象名应该是名词和名词短语,如:Customer,Account等而不应是动词。
方法名应当是动词或者动词短语因为其代表操作。如deletePage,save等。
该文章为阅读《代码整洁之道》的阅读笔记,仅供参考。