《代码整洁之道》:整洁代码&有意义的命名

第一章    整洁代码

第一章主要写了整洁代码的重要性和糟糕的代码带来的巨大麻烦,几位大佬谈了对整洁代码的认识和解释,我读了之后并没有深刻的体会,因为我没有写过什么项目,体会不到整洁代码和混乱的代码的区别。

第二章 有意义的命名

读这一章的时候我到是有些体会,之前写算法题的时候完全是瞎起名字,a,b,c,d,a1,a2,a3.....,很混乱,作者在命名时提出了以下几个原则

1 名副其实

看到这个变量的名字就能知道这个变量为什么会存在,做什么事,应该怎么用。如果需要注释来补充,那就不算是名副其实,例如:

int d; //消逝的时间,以日计

int elapsedTimeInDays;
int daySinceCreation;
int daysSinceModification;
int fileAgeInDays;

下面4种明显要好一些,清晰的表达出了这个变量所表达的含义,但对英语功底要求比较高(这些单词我不会拼啊)

2 避免误导

  1. 不要使用与一些关键字冲突的命名;
  2. 不要让两个变量的命名过于相似;

3 做有意义的区分

废话都是多余的,例如在变量名中不要出现Variable一词;NameString应该改为Name,Name本事就是一个String了。

getActiveAccount();
getActiveAccounts();
getActiveAccountInfo();

以上3个函数名字完全没有什么区别,在调用的时候怎么能知道该调用哪个函数呢?

4 使用读得出来的名称

5 使用可搜索的名称

WORK_DAYS_PER_WEEK要比5好找的多

6 避免使用编码

7 避免思维映射

8 类名

类名和对象名应该是名词或名词短语

9 方法名

方法名应当是动词或动词短语

10 每个概念对应一个词

11 别用双关语

12 使用解决方案领域名称

13 使用源自所设问题领域的名称

14 添加有意义的语境

15 不要添加没用的语境

 

取好名字最难得地方在于需要良好的描述技巧和共有文化背景

你可能感兴趣的:(《代码整洁之道》:整洁代码&有意义的命名)