最近看了一本书叫《代码不朽》,书中列出了编写可维护软件的10大要则。该书译自老外的著作,看来国外的研究者对如何提高软件的质量已有一些理论化的指导,并且有一些量化的指标。对于书中个别观点见仁见智,不过对于我们如何规范自己的编码还是有很大的启发作用。现将10大要则作如下笔记:
1.编写短小的代码单元
代码单元的长度应该限制在15行代码内, 或者将长的单元分解成多个更短的单元,短小的代码易于理解、测试及重用
2.编写简单的代码单元
限制每个代码单元分支点的数量不超过4个,将复杂的代友单元拆分成多个更简单的单元,避免多个复杂的单元在一起,分支点越少,代码越容易被修改和测试
3.不写重复代码
不要复制代码,编写可重用的,通用的代码,如复制代码,就需要在多个地方修复bug,这样做效率低且易出错
4.保持代码单元的接口简单
限制每个代码单元的参数不能超过4个,应该将过多的参数提取成对象,较少的参数可让代码单元更容易理解和重用
5.分离模块之间的关注点
避免形成大型模块,以达到模块之间的松耦合,应该将不同的职责分给不同的模块,并且隐藏接口内部的实现细节,这样对松耦合代码库的修改更容易监督和执行
6.架构组件松耦合
顶层给件之间应该做到松耦合,尽可能减少当前模块中需要暴露给其他给件中模块的相关代码,独立的组件可以单独进行维护
7.保持架构组件之间的平衡
需要平衡代码中顶层组件的数量和体积,保持源代码中组件的数量接近于9,并且这些组件的体积基本一致,平衡的组件可以帮助定位代码,并且允许独立对组件进行维护
8.保持小规划代码库
保持代码库规模尽可能小,控制代码库增长,并主动减少系统的代码体积
9.自动化开发部署和测试
通过使用测试框架来编写自动化测试,自动化测试让开发过程可预测并且能够降低风险
10.编写简洁的代码
不要编写单元级别的代码坏味,不要编写不好的注释,不要注释代码,不要保留废弃代码,不要使用过长的标识符名称,不要使用没有被清晰定义的数字或者字符串,不要使用未正确处理的异常
1.编写短小的代码单元
代码单元的长度应该限制在15行代码内, 或者将长的单元分解成多个更短的单元,短小的代码易于理解、测试及重用
2.编写简单的代码单元
限制每个代码单元分支点的数量不超过4个,将复杂的代友单元拆分成多个更简单的单元,避免多个复杂的单元在一起,分支点越少,代码越容易被修改和测试
3.不写重复代码
不要复制代码,编写可重用的,通用的代码,如复制代码,就需要在多个地方修复bug,这样做效率低且易出错
4.保持代码单元的接口简单
限制每个代码单元的参数不能超过4个,应该将过多的参数提取成对象,较少的参数可让代码单元更容易理解和重用
5.分离模块之间的关注点
避免形成大型模块,以达到模块之间的松耦合,应该将不同的职责分给不同的模块,并且隐藏接口内部的实现细节,这样对松耦合代码库的修改更容易监督和执行
6.架构组件松耦合
顶层给件之间应该做到松耦合,尽可能减少当前模块中需要暴露给其他给件中模块的相关代码,独立的组件可以单独进行维护
7.保持架构组件之间的平衡
需要平衡代码中顶层组件的数量和体积,保持源代码中组件的数量接近于9,并且这些组件的体积基本一致,平衡的组件可以帮助定位代码,并且允许独立对组件进行维护
8.保持小规划代码库
保持代码库规模尽可能小,控制代码库增长,并主动减少系统的代码体积
9.自动化开发部署和测试
通过使用测试框架来编写自动化测试,自动化测试让开发过程可预测并且能够降低风险
10.编写简洁的代码
不要编写单元级别的代码坏味,不要编写不好的注释,不要注释代码,不要保留废弃代码,不要使用过长的标识符名称,不要使用没有被清晰定义的数字或者字符串,不要使用未正确处理的异常