《代码整洁之道》学习小结(一)

第一章 整洁代码

勒布朗(LeBlanc)法则:稍后等于永不(Later equal never)。要在工作中体现自己的专业性,尤其是和产品或需求方交谈时。

代码逻辑直截了当,尽量减少依赖关系,完善错误处理代码,性能调整最优。要在意自己的代码。

能通过所有测试,没有重复代码,体现设计理念,包括尽量少的实体(类、方法、函数等)。消除重复(封装重复代码,抽象为类或者方法,具体实现的功能)和提高表达力(使得变量命名更加清晰,不会包含太多业务),要了解真正要实现的功能。

第二章 有意义的命名

名副其实:了解变量的功能,存在的意义,例如elapsedTimeInDays,daySinceCreation等,而不是单纯的一个变量a,b之类,不需要注释就能理解,不要使用模糊的命名。

避免误导:避免留下误读的错误线索,另外有特殊意义的词语使用要谨慎,例如List,若非List变量尽量避免,避免使用差异较小的变量名称。

做有意义的区分:若是名称必须相异,那么意思也应该不同,避免误导。读者能够清晰了解变量的意义。
使用读得出的名称:使用恰当的英语词,而不是随意取名。

使用可搜索的名称:能表达作者意图,而不是普通字母或者数字。

避免使用编码:避免使用作用域或者变量类型来命名。例如接口IShapeFactory并不实用,因为都了解是一个接口,不如写成ShapeFactoryImp。同时也避免无意义的前缀等。

避免思维映射:避免单字母变量名,尤其是循环计数器类型变量。

类名:类名或者对象名应该是名词或者名词短语,避免动词。

方法名:方法名应该是动词或者动词短语,属性访问器、修改器和断言根据其值命名,根据JavaBean标准依次在前面加上get、set和is。重载构造器使用描述了参数的静态工厂方法名,可以将相应的构造器设置为private。

别扮可爱:不要使用通俗语言或者俚语来命名。

每个概念对应一个词:给每个抽象概念选一个词,并且一以贯之,例如使用fetch、get和retrieve给类中同等类别来命名。

别用双关语:避免将同一单词用于不同目的,遵循一词一义,例如若是通过增加或者连接两个现存值获取新值,应该使用insert或者append,而不是使用add。

使用解决方案领域名称:只有程序员会读你的代码,可使用专业术语来辅助理解。

使用源自所涉问题领域的名称:对应领域的专有词语。

添加有意义的语境:需要用有良好命名的类、函数或者名称空间来放置名称,提供语境,若是没有,只能添加前缀说明。

不要添加没用的语境:不要全部都添加相同语境的类名称,精确命名。

你可能感兴趣的:(代码整洁)