首页 > 代码库 > 代码整洁之道读后感(二)

代码整洁之道读后感(二)

有意义的命名和函数

命名:

  1. 名副其实---选个好名字要花很长时间,但省下来的时间更多。如果发现有更好的名称,就换掉旧的。
  2. 避免误导---比如,使用accountList指称一组帐号
  3. 使用读的出来的名称---比如,genymdhms(生成日期,年,月,日,时,分,秒),这个怎么读??
  4. 类名---类名和对象名应该是名词或名词短语,如Customer、WiKIPage、Account,避免使用Manager、Processor、Date这样的类名。
  5. 方法名---方法名应当是动词或动词短语。

函数:

  1. 短小---第一规则短小,第二规则还是更短小。
  2. 只做一件事---函数应该做一件事;做好这件事;只做这一件事;
  3. 每个函数一个抽象层级---自顶向下读代码:向下规则
  4. swith语句---写出短小的switch语句很难。如果你无法避免使用switch,那么请将它放到较低的抽象层级去,并仅出现一次。
  5. 使用描述性的名称---
    1. 别害怕长名称,长而具有描述性的名称,要比短而令人费解的名称好。
    2. 长而具有描述性的名称,比描述性的长注释要好。
    3. 使用某种命名约定,让函数名称中的多个单词容易阅读;
    4. 别害怕长时间取名字,这会有助于你理清关于模块的设计思路;
    5. 命名方式要一致,例如includeSetupAndTeardownPages、includeSetupPages、includeSuiteSetupPage
  6. 函数参数---
    1. 最理想的参数是零,其次是一、再次是二、尽量避免三,除非你有特殊理由,否则别用三个以上。
    2. 别用标识参数,向函数传入布尔值,就是在说函数不止做了一件事,如果true,这样做,false就肯定不会这样做。例如render(Boolean isSuite),少许有些帮助,不过你更应该一分为二,renderForSuite()和renderForSingleTest()
  7. 无副作用---
    1. 副作用就是你在撒谎,函数承诺只做一件事,但还是会做其他被藏起来的事。
  8. 别重复自己