clean code-代码整洁之道 阅读笔记(第十二章)

第十二章 系统

12.1 通过选进设计达到整洁目的

Kent Beck关于简单设计'的四条规则,对于创建具有良好设计的软件有着莫大的帮助。

  • 据Kent所述,只要遵循以下规则,设计就能变得"简单":
  • 运行所有测试;
  • 不可重复;
  • 表达了程序员的意图;
  • 尽可能减少类和方法的数量;
  • 以上规则按其重要程度排列。
12.2 简单设计规则1:运行所有测试

只要系统可测试,就会导向保持类短小且目的单一的设计方案。

紧耦合的代码难以编写测试。同样,编写测试越多,就越会遵循1DIP之类规则,使用依赖注入、接口和抽象等工具尽可能减少耦合。

遵循有关编写测试并持续运行测试的简单、明确的规则,系统就会更贴近OO低耦合度高内聚度的目标。编写测试引致更好的设计。

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

有了测试,就能保持代码和类的整洁,方法就是递增式地重构代码。

测试消除了对清理代码就会破坏代码的恐惧。

在重构过程中,可以应用有关优秀软件设计的一切知识。提升内聚性,降低耦合度,切分关注面,模块化系统性关注面,缩小函数和类的尺寸,选用更好的名称,如此等等。这也是应用简单设计后三条规则的地方:消除重复,保证表达力,尽可能减少类和方法的数量。

12.4 不可重复

要想创建整洁的系统,需要有消除重复的意愿,即便对于短短几行也是如此。

"小规模复用"可大量降低系统复杂性。要想实现大规模复用,必须理解如何实现小规模复用。

模板方法模式是一种移除高层级重复的通用技巧。

12.5 表达力
  • 可以通过选用好名称来表达。
  • 也可以通过保持函数和类尺寸短小来表达。
  • 还可以通过采用标准命名法来表达。
  • 编写良好的单元测试也具有表达性。测试的主要目的之一就是通过实例起到文档的作用。读到测试的人应该能很快理解某个类是做什么的。
  • 不过,做到有表达力的最重要方式却是尝试。
12.6 尽可能少的类和方法

我们的目标是在保持函数和类短小的同时,保持整个系统短小精悍。不过要记住,这在关于简单设计的四条规则里面是优先级最低的一条。所以,尽管使类和函数的数量尽量少是很重要的,但更重要的却是测试、消除重复和表达力。

12.7 小结

遵循简单设计的实践手段,开发者不必经年学习就能掌握好的原则和模式。

相关推荐
ysa0510305 分钟前
数论基础知识和模板
数据结构·c++·笔记·算法
今天背单词了吗98035 分钟前
算法学习笔记:7.Dijkstra 算法——从原理到实战,涵盖 LeetCode 与考研 408 例题
java·开发语言·数据结构·笔记·算法
mitt_1 小时前
《人生顶层设计》读书笔记7
笔记
智者知已应修善业1 小时前
【51单片机节日彩灯控制器设计】2022-6-11
c语言·经验分享·笔记·单片机·嵌入式硬件·51单片机
Jyywww1211 小时前
微信小程序学习笔记
笔记·学习·微信小程序
m0_678693332 小时前
深度学习笔记29-RNN实现阿尔茨海默病诊断(Pytorch)
笔记·rnn·深度学习
sigmoidAndRELU3 小时前
读Vista
笔记·stable diffusion·世界模型
Sincerelyplz3 小时前
【Temproal】快速了解Temproal的核心概念以及使用
笔记·后端·开源
Yo_Becky4 小时前
【PyTorch】PyTorch预训练模型缓存位置迁移,也可拓展应用于其他文件的迁移
人工智能·pytorch·经验分享·笔记·python·程序人生·其他
DIY机器人工房5 小时前
0.96寸OLED显示屏 江协科技学习笔记(36个知识点)
笔记·科技·stm32·单片机·嵌入式硬件·学习·江协科技