Java编码规范,让你的代码赏心悦目--迭进

来源:互联网 发布:java根据模板生成pdf 编辑:程序博客网 时间:2024/06/03 19:13
  • 通过迭进设计达到整洁目的
    • 简单设计的四条规则,以下规则按其重要程序排列:
      • 运行所有测试;
      • 不可重复;
      • 表达了程序员的意图;
      • 尽可能减少类和方法的数量;
  • 简单设计规则1:运行所有测试
    • 全面测试并持续通过所有测试的系统,就是可测试的系统;
    • 紧耦合的代码难以编写测试。使用依赖注入,接口,和抽象来减少耦合;
  • 简单设计规则2~4:重构
    • 有了测试,就能保持代码和类的整洁,方法就是递增式地重构代码;
      • 测试消除了对清理代码就会破坏代码的恐惧;
    • 重构的过程:提升内聚性,降低耦合度,切分关注面,模块化系统关注面,缩小函数和类的尺寸,选用更好的名称;
  • 不可重复
    • 重复有多种表现。雷同的代码行自然是重复。类似的代码往往可以调整得更相似,这样可以更容易地进行重构。
    • 重复也有实现上的重复等其他一些形态

isEmpty跟踪一个布尔值,而size方法跟踪一个计数器;
int size(){}
boolean isEmpty(){}

也可以通过在isEmpty中使用size方法来消除重复:
boolean isEmpty(){

return 0==size();

}

  • 小规模复用可大量降低系统复杂性。要想实现大规模复用,必须理解如何实现小规模复用;模板方法模式是一种移除高层级重复的通用技巧:

VacationPolicy下的两个方法中,有大量代码雷同;

那一部分依据员工类型而变,可通过应用模板方法模式来消除明显的重复:

子类填充了accrueVacation算法中的"空洞",提供不重复的信息;

  • 表达力
    • 写出自己理解的代码很容易,但我们也要考虑别人来理解我们的代码;
      • 可以通过保持函数和类尺寸短小来表达;
        • 短小的类和函数通常易于命名,易于编写,易于理解;
      • 还可以通过采用标准命名法来表达;
      • 编写良好的单元测试也具有表达性;
      • 做到有表达力的最重要方式是尝试。我们往往在写完可以工作的代码后就转移到下一个问题上,没有下足够的时间调整代码,让后来者易于阅读。请尊重自己的手艺,花点时间,整理它们;
  • 尽可能少的类和方法
    • 这在四条规则里优先级最低。我们的目标是在保持函数和类短小的同时,保持整个系统短小精悍。最重要的是测试,消除重复和表达力;
原创粉丝点击