Home Clean Code
Post
Cancel

Clean Code

2 有意义的命名

2.9 类名

类名和对象名应该是名词或名词短语,而不应该为动词。

2.10 方法名

方法名应该是动词或动词短语。属性访问器、修改器和断言应该根据其值命名,并根据Javabean标准加上get、set、is前缀

3 函数

3.1 短小

函数应该短小,每个函数才能一目了然,每个函数只做一件事情,每个函数都是依次把你带到下一个函数。

3.2 只做一件事

函数应该做一件事,做好这件事。编写函数毕竟事为了把大的一些概念拆分为另一抽象层面上的一系列步骤。

3.3 每个函数都在一个抽象层级上面

3.6 函数参数

减少函数的参数,多作为成员变量或者方法

4 注释

尽量使用名称去传达信息而非注释,变更代码时需要及时维护注释,否则注释反倒可能起到误导作用。注释可以用来警示其他程序员会出现某种后果的注释也是有用的。言简意赅的表达出想要的意思,别使用很废话的注释。如果有需要注释掉的代码,最好直接删除,否则会导致后面的人不敢删,也不知道到底为什么在那。注释要让读者好懂,理解注释所谈为何物,如果注释本事都还需要解释,那就是糟糕的注释。

5 垂直顺序

被调用的函数应该放在被执行调用的函数下面,紧密相关的代码应该相互靠近。建立一种自顶向下贯穿源代码模块的良好信息流。每个人都会有自己习惯喜欢的格式规则,但如果在一个团队中工作,就应该遵循一起定制的规则。

9 单元测试

测试代码和生产代码一样重要,它需要被思考、被设计和被照料。它该像生产代码一样保持整洁。单元测试可以让代码可扩展、可维护、可复用。单元测试需要做到:可读性

10 类

单一职责:系统应该由许多短小的类而不是少量巨大的类组成。每个小类封装一个权责,只有一个修改的原因,并与少数其他类一起协同达成期望的系统行为。

内聚:类应该只有少量实体变量。类中的每个方法都应该操作一个或多个这种变量。如果一个类中的每一个变量都被每个方法所使用,则该类具有最大的内聚性。隔离也让对系统每个元素的理解变得更加容易。

12 跌进

重复是拥有良好设计系统的大敌,它代表着额外的工作、额外的风险和额外且不必要的复杂度。重复有多种表现,极其雷同的代码行当然是重复的。类似的代码往往也可以调整的更相似,这样就可以更容易的进行重构。

This post is licensed under CC BY 4.0 by the author.