构建之法 第四章 读书笔记
4.1代码规范
代码规范可以分为两部分:
- 代码风格规范—主要是文字上的规定
- 代码设计规范—牵涉到程序设计、模块之间的关系、设计模式等方方面面的通用原则
4.2代码风格规范
代码风格的原则是:简明,易读,无二义性。
- 缩进:4个空格的距离阅读性最好。
- 行宽:可限制为100个字符。
- 分行:不要把多条语句放在一行,每个“{”和“}”单独占一行,不要把多个变量放在同一行。
- 命名:不要提到类型或其他语法方面的描述;避免过多的描述;避免可要可不要的修饰词。
- 下划线用来分隔变量名字中的作用域标注和变量的语义。
- 大小写:有Pascal形式和Camel形式
- 所有的类型/类/函数名都用Pascal形式,所有的变量都用Camel形式
- 类/类型/变量:名词或组合名词,如Member、ProductInfo等
- 函数则用动词或动宾组合词来表示,如get/set、RenderPage()
- 注释:复杂的注释应该放在函数头,解释参数的类型。
4.3代码设计规范
- 代码设计规范不光是程序书写的格式问题,而且牵涉到程序设计、模块之间的关系、设计模式等方方面面。
- 现代程序设计语言中的绝大部分功能,都在程序的函数中实现。关于函数最重要的原则是:只做一件事,并且要做好。
- 函数最好有单一的出口,为了达到这一目的,可以使用goto,使用goto有助于程序逻辑的清晰体现。
- 参数处理:对从外部传递过来的参数,要验证其正确性。
- 断言:当你觉得某事肯定如何时,就可以使用断言:Assert(p != NULL)
4.4 代码复审
- 代码复审就是看代码是否在“代码规范”的框架内正确地解决了问题,主要有自我复审,同伴复审,团队复审三种形式。而软件工程中最基本的复审手段就是同伴复审。
- 代码复审的目的在于:找出代码的错误;发现逻辑错误;发现算法错误;发现潜在的错误和回归性错误;发现可能需要改进的地方;教育传授经验。
- 代码复审的核查表:概要部分;设计规范部分;代码规范部分;具体代码部分;效能;可读性;可测试性。
4.5 结对编程
- 将代码复审发展到极限(极限编程),不间断复审
- 开发中的复审主要包括:设计复审;代码复审;测试计划复审;文档复审。
4.6 两人合作不同阶段和技巧
- 两人合作分为萌芽阶段、磨合阶段、规范阶段、创造阶段、解体阶段。
影响他人的几种方式:断言、桥梁、说服、吸引。
正确地给予反馈:
- 最外层:行为和后果
- 中间层:习惯和动机
最内层:本质和固有属性