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

21 篇文章 2 订阅
13 篇文章 2 订阅
本文探讨了如何通过迭进设计实现Java代码的整洁。遵循运行所有测试、不可重复、表达程序员意图和减少类与方法数量的规则。强调全面测试的重要性,通过重构提高代码质量,降低耦合度,提升内聚性,并注重代码的表达力和可读性,以创建高效、易于理解和维护的代码库。
摘要由CSDN通过智能技术生成
  • 通过迭进设计达到整洁目的
    • 简单设计的四条规则,以下规则按其重要程序排列:
      • 运行所有测试;
      • 不可重复;
      • 表达了程序员的意图;
      • 尽可能减少类和方法的数量;
  • 简单设计规则1:运行所有测试
    • 全面测试并持续通过所有测试的系统,就是可测试的系统;
    • 紧耦合的代码难以编写测试。使用依赖注入,接口,和抽象来减少耦合;
  • 简单设计规则2~4:重构
    • 有了测试,就能保持代码和类的整洁,方法就是递增式地重构代码;
      • 测试消除了对清理代码就会破坏代码的恐惧;
    • 重构的过程:提升内聚性,降低耦合度,切分关注面,模块化系统关注面,缩小函数和类的尺寸,选用更好的名称;
  • 不可重复
    • 重复有多种表现。雷同的代码行自然是重复。类似的代码往往可以调整得更相似,这样可以更容易地进行重构。
    • 重复也有实现上的重复等其他一些形态

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

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

return 0==size();

}

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

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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值