12 迭进

能够编写整洁代码的人 一定精通并擅长使用设计模式!
换句话说如果你连设计模式都不能熟谙 就休要声称自己有代码洁癖 能写出真正整洁代码

通过迭进设计达到整洁目的

简单设计的四条规则

  • 运行所有测试
  • 不可重复
  • 表达了程序员的意图
  • 尽可能减少类和方法的数量

以上规则按其重要程度排列

简单设计规则 1:运行所有测试

编写测试引致更好的设计

  • 遵循 SRP 保持类短小且目的单一 高内聚
  • 遵循 DIP 使用依赖注入 接口和抽象工具尽可能降低耦合度

简单设计规则 2~4:重构

递增式重构代码 添加了几行代码后 就要暂停 琢磨一下变化了的设计 测试消除了对清理代码就会破坏代码的恐惧

重构过程中应用有关优秀软件设计的一切知识

  • 提升内聚性
  • 降低耦合度
  • 切面关注面
  • 模块化系统性关注面
  • 缩小函数和类的尺寸
  • 选用更好的名称

对应的正是简单设计后三条规则

不可重复

重复是拥有良好设计系统的大敌

  • 额外的工作
  • 额外的风险
  • 不必要的复杂度
int size() {}
boolean isEmpty() {}
// isEmpty可以借 size 消除重复
boolean isEmpty() {
	return 0 == size();
}

模板方法模式 是一种移除高层级重复的通用技巧
手法:继承一个抽象类 其中有一个方法 包含了所有通用操作函数
思路不算复杂 就不展开例子了

表达力

软件项目的主要成本在于长期维护 为了在修改时尽量降低出现缺陷的可能性 很有必要理解系统是做什么的
下一个读代码的人最有可能是你自己 所以尽量恪守代码易读

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅气呢杰哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值