阅读笔记2
第二章:有意义的命名
名副其实:选一个好名字要花时间,但省下来的时间比花掉的多。
注意命名,而且一旦发现有其他更好的名称,就换掉旧的。
避免误导:必须避免留下掩藏代码本意的错误线索。应当避免使用与本意相悖的词。
做有意义的区分:不要定义,没有提供正确信息,没有提供导向作者意图的线索的命名。
使用读得出来的名称,使用可搜索的名称。
类名:类名和对象名应该是名词或名词短语。
方法名:方法应当是动词或动词短语。
每个概念对应一个词:给每个抽象概念造一个词,并且一以贯之。例如,使用fetch、retrieve 和 get 来给在多个类中的同种方法命名。
第三章:函数
短小:函数应该短小。
只有一件事:函数应该做一件事,做好这一件事,只有这一件事。
每个函数一个抽象层级:自顶向下读代码:向下规则。
使用具有描述性的名称:函数越短小,功能越集中,就越便于起个好名字。起名字规则:
- 别害怕长名称;
- 别害怕花时间起名字;
- 命名方式要保存一致;
函数参数:最理想的参数是0(零参数函数),其次是1(单参数函数),再次是2(双参数函数),应尽量避免3(三参数函数)。
动词与关键词:给函数起一个好名字,能较好地解释函数的意图,以及参数的顺序和意图。
对于单参数函数,函数和参数应当形成一种非常良好的动词/名称对形式。
别重复自己:重复可能是软件一起邪恶的根源。