第12章:迭进

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

开发时要遵循简单设计的5条规则

12.2 规则1:运行所有测试

全面测试并持续通过所有测试的系统就是可测试的系统。

12.3 规则2:重构

提升内聚性,降低耦合度,切分关注面,模块化系统性关注面,缩小函数和类的尺寸,选用更好的名称等。
如何理解重构?不改变软件可观察行为的前提下,改善其内部结构,以提高理解性和降低修改成本。作为开发者, 应当把重构作为开发的一部分,一边开发一边重构。在快速堆叠代码,实现基本需求功能的基础上,写好测试用例,保证功能不变,逐步重构。

12.4 规则3:不可重复

重复意味着额外的工作、风险和不必要的复杂度,其表现为代码重复,功能实现重复等。另外,小规模复用可大量降低系统复杂性。如何理解小规模复用?模板方法模式是一种移除高层及复用的通用技巧。

12.5 规则4:表达力

以下方式可以增强表达力:(1)选用好名称;(2)保持函数和类的短小;(3)采用标准命名法;(4)编写良好的单元测试;(5)不断尝试。

12.6 规则5:函数和类数量要少

这个看似与保持函数和类短小相悖,但是却不然,总能达到函数和类短小且函数和类数量少的一个平衡。

《代码整洁之道》阅读笔记——第12章:迭进相关推荐

  1. 《代码整洁之道 》第十二章 迭进

    第十二章 迭进 12.1 通过迭进设计达到整洁目的 据Kent认为,只要遵循了下面的规则,设计就能变得简单 运行所有测试 不可重复 表达了程序员的意图 尽可能减少类和方法的数量 12.2 简单设计规则 ...

  2. 什么是好代码-代码整洁之道阅读笔记

    根据我所阅读的书<代码整洁之道>里的一句话: "衡量代码质量的唯一有效标准: WTF/min" 从哲学的角度讲,不得不说这真的很客观!!! 毕业不久的我也没有太多关于好 ...

  3. 【苦练基本功】代码整洁之道 pt4(第10章-第12章)

    代码整洁之道 pt4(第10章-第12章) 10 类 10.1 类的组织 10.2 类应该短小 10.2.1 单一权责原则 10.2.2 内聚 10.2.3 保持内聚性就会得到许多短小的类 10.3 ...

  4. 代码整洁之道 读书笔记

    第1章 整洁代码 1.1 要有代码 1.2 糟糕的代码      稍后等于永不 1.3 混乱的代价 假设前期不注意.后期的加入代码.改动效率都很低 1.3.1 华丽新设计 1.3.2 态度 1.3.3 ...

  5. 【苦练基本功】代码整洁之道 pt1(第1章-第3章)

    代码整洁之道 pt1(第1章-第3章) 1 整洁代码 1.1 要有代码 1.2 糟糕的代码 1.3 混乱的代价 1.3.1 什么是整洁代码? 2 有意义的命名 2.1 名副其实 2.2 避免误导 2. ...

  6. 【苦练基本功】代码整洁之道 pt2(第4章-第6章)

    代码整洁之道 pt2(第4章-第6章) 4 注释 4.1 注释不能美化糟糕的代码 4.2 用代码来阐述 4.3 好注释 4.3.1 法律信息 4.3.2 提供信息的注释 4.3.3 对意图的解释 4. ...

  7. 【苦练基本功】代码整洁之道 pt3(第7章-第9章)

    代码整洁之道 pt3(第7章-第9章) 7 错误处理 7.1 使用异常而非返回码 7.2 先写try-catch-finally 7.3 使用未检异常 7.4 给出异常发生的环境说明 7.5 依调用者 ...

  8. 代码整洁之道精华——第十四章 逐步改进

    阅读本文有两种原因:第一,你是个程序员:第二,你想成为更好的程序员.你如果想成为更好的程序员,那就请细细品味文章内容,它绝不会让你失望. 代码整洁之道教给大家如何编写整洁的代码,而不仅仅是能运行的代码 ...

  9. 代码整洁之道(RobertC.Martin)之第二章: 变量

    一.前言 本段为第二章大体内容解释.本篇均取自代码整洁之道, 有兴趣的可以留言或私信我. 二.十四条经典简洁概念 //对整洁之道第二章有删减,取出了其中我们常常需要用到的简洁方法 名副其实 => ...

最新文章

  1. POJ 3616 Milking Time
  2. 理解Linux系统中的load average(图文版)转载
  3. php5.6的apaches的dll_Windows 10下 搭建Apache2.4、php5.6、mysql5.6
  4. 有关为旧版代码创建存根的更多信息–测试技术7
  5. spring 设计模式
  6. 用户登录提交前,密码加密传输
  7. (硬 核)使用MySQL管理和查询数据 ( 入 门 须 知 ②)
  8. 计算机专业祝福新年快乐,用计算机语言祝福大家新年快乐!
  9. 搭建cacti 期间问题总结
  10. 四、StackPanel控件
  11. 中国土地市场网数据爬取
  12. 图解css3:核心技术与案例实战. 导读
  13. [免费配音软件]配音助手1.0 阿里云配音软件
  14. 简单学JAVA-学好Java能做啥
  15. 内存溢出(out of memory)是内存不足吗?Outofmemory error怎么解决?
  16. 台式计算机小键盘,台式电脑软键盘在哪里,初学电脑
  17. 【音视频基础】(一):显示器是如何显示图形数据的一
  18. 题目:求1+2!+3!+...+20!的和
  19. Linux有多重要?到底该如何学习Linux?
  20. MySQL数据库安装包官网下载地址

热门文章

  1. 国足0-2日本 出线仅存理论可能
  2. 计算机组成原理组成.ppt,计算机组成原理xu.ppt
  3. FPGA学习之 直接数字频率合成器(DDS)
  4. 华为自研系统鸿蒙为什么也要基于linux来开发?
  5. 用matlab绘制抛物线y的x平方,利用matlab绘制多重x/y曲线
  6. elementUI tooltip箭头样式(表格自定义)
  7. mac打不开txt文件,出现“文本编码“中文 (GB 18030)”不适用。”的解决办法
  8. Thinkphp5关联模型的定义与使用
  9. 一篇文章详细介绍元宇宙
  10. 《一本书读懂大数据营销 玩透大数据营销 创造网络营销奇迹》pdf下载 百度云