放假期间看了这本书,和大多数人一样,被作者精美的插图吸引,世上竟有如此诙谐幽默却很贴切的图。看完这本书的整体感受就是看到代码忍不住想去refactor,当然思想上对整洁有个把握。最忐忑的就是自认为好的代码在别人那儿一文不值,不过大多数精美的代码我都看不懂,沉默脸.jpg。
整洁代码:
尽量减少依赖,简单直接。充满赶紧利落的抽象和直截了当的控制语句。
能够全部运行通过,并配有单元测试和验收测试。(作者推崇TDD,自己也曾一段时间狂补单元测试,为代码覆盖率而crazy。有这中全覆盖的单元测试肯定很好,不过这种还是要看具体的项目)
没有重复的代码(提取公共方法和公共类)
有意义的命名,命名要有实际意义。避免使用java中常见的类名。类名和对象名应为名词或名词词组,方法名应为动词或动词词组。
函数短小,20行封顶最佳。函数参数应该尽量小,多于2个要封装。
抽取异常类。
注释。尽量把要表意的东西放在变量和方法名上。
对象和数据结构。满足得墨忒耳律,模块不应该了解它所操作对象的内部情形。
类应该短小
单一权责原则:每个类或模块只有一条加以修改的理由
内聚:内聚的程度是类中的方法和变量相互依赖的程度
依赖倒转原则:面向接口编程
系统。将系统的构建与使用分开,Java中的代理(Spring AOP的实现原理)
递进
阐述了简单设计的四条规则,按重要性一次排序
运行所有测试
不可重复:利用手段将程序进行代码层面上的重构
表达程序员的意图:这个主要体现在命名和结构上
尽可能减少类和方法数量