Java编码规范,让你的代码赏心悦目--迭进
2017-09-11 21:28
92 查看
通过迭进设计达到整洁目的
简单设计的四条规则,以下规则按其重要程序排列:
运行所有测试;
不可重复;
表达了程序员的意图;
尽可能减少类和方法的数量;
简单设计规则1:运行所有测试
全面测试并持续通过所有测试的系统,就是可测试的系统;
紧耦合的代码难以编写测试。使用依赖注入,接口,和抽象来减少耦合;
简单设计规则2~4:重构
有了测试,就能保持代码和类的整洁,方法就是递增式地重构代码;
测试消除了对清理代码就会破坏代码的恐惧;
重构的过程:提升内聚性,降低耦合度,切分关注面,模块化系统关注面,缩小函数和类的尺寸,选用更好的名称;
不可重复
重复有多种表现。雷同的代码行自然是重复。类似的代码往往可以调整得更相似,这样可以更容易地进行重构。
重复也有实现上的重复等其他一些形态
小规模复用可大量降低系统复杂性。要想实现大规模复用,必须理解如何实现小规模复用;模板方法模式是一种移除高层级重复的通用技巧:
表达力
写出自己理解的代码很容易,但我们也要考虑别人来理解我们的代码;
可以通过保持函数和类尺寸短小来表达;
短小的类和函数通常易于命名,易于编写,易于理解;
还可以通过采用标准命名法来表达;
编写良好的单元测试也具有表达性;
做到有表达力的最重要方式是尝试。我们往往在写完可以工作的代码后就转移到下一个问题上,没有下足够的时间调整代码,让后来者易于阅读。请尊重自己的手艺,花点时间,整理它们;
尽可能少的类和方法
这在四条规则里优先级最低。我们的目标是在保持函数和类短小的同时,保持整个系统短小精悍。最重要的是测试,消除重复和表达力;
简单设计的四条规则,以下规则按其重要程序排列:
运行所有测试;
不可重复;
表达了程序员的意图;
尽可能减少类和方法的数量;
简单设计规则1:运行所有测试
全面测试并持续通过所有测试的系统,就是可测试的系统;
紧耦合的代码难以编写测试。使用依赖注入,接口,和抽象来减少耦合;
简单设计规则2~4:重构
有了测试,就能保持代码和类的整洁,方法就是递增式地重构代码;
测试消除了对清理代码就会破坏代码的恐惧;
重构的过程:提升内聚性,降低耦合度,切分关注面,模块化系统关注面,缩小函数和类的尺寸,选用更好的名称;
不可重复
重复有多种表现。雷同的代码行自然是重复。类似的代码往往可以调整得更相似,这样可以更容易地进行重构。
重复也有实现上的重复等其他一些形态
isEmpty跟踪一个布尔值,而size方法跟踪一个计数器; int size(){} boolean isEmpty(){} | 也可以通过在isEmpty中使用size方法来消除重复: boolean isEmpty(){ return 0==size(); } |
VacationPolicy下的两个方法中,有大量代码雷同; |
那一部分依据员工类型而变,可通过应用模板方法模式来消除明显的重复: 子类填充了accrueVacation算法中的"空洞",提供不重复的信息; |
写出自己理解的代码很容易,但我们也要考虑别人来理解我们的代码;
可以通过保持函数和类尺寸短小来表达;
短小的类和函数通常易于命名,易于编写,易于理解;
还可以通过采用标准命名法来表达;
编写良好的单元测试也具有表达性;
做到有表达力的最重要方式是尝试。我们往往在写完可以工作的代码后就转移到下一个问题上,没有下足够的时间调整代码,让后来者易于阅读。请尊重自己的手艺,花点时间,整理它们;
尽可能少的类和方法
这在四条规则里优先级最低。我们的目标是在保持函数和类短小的同时,保持整个系统短小精悍。最重要的是测试,消除重复和表达力;
相关文章推荐
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--类
- Java编码规范,让你的代码赏心悦目--迭进
- Java编码规范,让你的代码赏心悦目--类