《代码整洁之道》阅读笔记——第12章:迭进
第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章:迭进相关推荐
- 《代码整洁之道 》第十二章 迭进
第十二章 迭进 12.1 通过迭进设计达到整洁目的 据Kent认为,只要遵循了下面的规则,设计就能变得简单 运行所有测试 不可重复 表达了程序员的意图 尽可能减少类和方法的数量 12.2 简单设计规则 ...
- 什么是好代码-代码整洁之道阅读笔记
根据我所阅读的书<代码整洁之道>里的一句话: "衡量代码质量的唯一有效标准: WTF/min" 从哲学的角度讲,不得不说这真的很客观!!! 毕业不久的我也没有太多关于好 ...
- 【苦练基本功】代码整洁之道 pt4(第10章-第12章)
代码整洁之道 pt4(第10章-第12章) 10 类 10.1 类的组织 10.2 类应该短小 10.2.1 单一权责原则 10.2.2 内聚 10.2.3 保持内聚性就会得到许多短小的类 10.3 ...
- 代码整洁之道 读书笔记
第1章 整洁代码 1.1 要有代码 1.2 糟糕的代码 稍后等于永不 1.3 混乱的代价 假设前期不注意.后期的加入代码.改动效率都很低 1.3.1 华丽新设计 1.3.2 态度 1.3.3 ...
- 【苦练基本功】代码整洁之道 pt1(第1章-第3章)
代码整洁之道 pt1(第1章-第3章) 1 整洁代码 1.1 要有代码 1.2 糟糕的代码 1.3 混乱的代价 1.3.1 什么是整洁代码? 2 有意义的命名 2.1 名副其实 2.2 避免误导 2. ...
- 【苦练基本功】代码整洁之道 pt2(第4章-第6章)
代码整洁之道 pt2(第4章-第6章) 4 注释 4.1 注释不能美化糟糕的代码 4.2 用代码来阐述 4.3 好注释 4.3.1 法律信息 4.3.2 提供信息的注释 4.3.3 对意图的解释 4. ...
- 【苦练基本功】代码整洁之道 pt3(第7章-第9章)
代码整洁之道 pt3(第7章-第9章) 7 错误处理 7.1 使用异常而非返回码 7.2 先写try-catch-finally 7.3 使用未检异常 7.4 给出异常发生的环境说明 7.5 依调用者 ...
- 代码整洁之道精华——第十四章 逐步改进
阅读本文有两种原因:第一,你是个程序员:第二,你想成为更好的程序员.你如果想成为更好的程序员,那就请细细品味文章内容,它绝不会让你失望. 代码整洁之道教给大家如何编写整洁的代码,而不仅仅是能运行的代码 ...
- 代码整洁之道(RobertC.Martin)之第二章: 变量
一.前言 本段为第二章大体内容解释.本篇均取自代码整洁之道, 有兴趣的可以留言或私信我. 二.十四条经典简洁概念 //对整洁之道第二章有删减,取出了其中我们常常需要用到的简洁方法 名副其实 => ...
最新文章
- POJ 3616 Milking Time
- 理解Linux系统中的load average(图文版)转载
- php5.6的apaches的dll_Windows 10下 搭建Apache2.4、php5.6、mysql5.6
- 有关为旧版代码创建存根的更多信息–测试技术7
- spring 设计模式
- 用户登录提交前,密码加密传输
- (硬 核)使用MySQL管理和查询数据 ( 入 门 须 知 ②)
- 计算机专业祝福新年快乐,用计算机语言祝福大家新年快乐!
- 搭建cacti 期间问题总结
- 四、StackPanel控件
- 中国土地市场网数据爬取
- 图解css3:核心技术与案例实战. 导读
- [免费配音软件]配音助手1.0 阿里云配音软件
- 简单学JAVA-学好Java能做啥
- 内存溢出(out of memory)是内存不足吗?Outofmemory error怎么解决?
- 台式计算机小键盘,台式电脑软键盘在哪里,初学电脑
- 【音视频基础】(一):显示器是如何显示图形数据的一
- 题目:求1+2!+3!+...+20!的和
- Linux有多重要?到底该如何学习Linux?
- MySQL数据库安装包官网下载地址
热门文章
- 国足0-2日本 出线仅存理论可能
- 计算机组成原理组成.ppt,计算机组成原理xu.ppt
- FPGA学习之 直接数字频率合成器(DDS)
- 华为自研系统鸿蒙为什么也要基于linux来开发?
- 用matlab绘制抛物线y的x平方,利用matlab绘制多重x/y曲线
- elementUI tooltip箭头样式(表格自定义)
- mac打不开txt文件,出现“文本编码“中文 (GB 18030)”不适用。”的解决办法
- Thinkphp5关联模型的定义与使用
- 一篇文章详细介绍元宇宙
- 《一本书读懂大数据营销 玩透大数据营销 创造网络营销奇迹》pdf下载 百度云