《软件工程与计算(卷二)》-Chapter17-18-软件构造与代码设计
A级: 重构 :修改软件系统的严谨方法,它在 不改变 代码的 外部表现 的情况下 改进 其 内部结构 。 测试驱动开发 :编写代码之前 优先完成该段代码的测试代码 。 结对编程 : 两个程序员挨着坐 在一起 共同协作 进行 软件构造活动 。分为Driver(驾驶员)负责输入代码和Observer(观察员)进行评审。 软件构造 的主要活动: 详细设计 编程 测试 调试 代码 评审 :评审会议 集成 与 构建 构造管理 代码设计:(给定代码段示例,对其进行改进或者发现其中的问题) 易读性: 1)格式:使用缩进和对齐、将相关逻辑组织在一起、使用空行分割逻辑、语句分行。 2)变量命名:惯例和规则。 3)注释:文档注释,内部注释 易维护性: 1)小型任务:分解为多个高内聚、低耦合的小型任务。 2)复杂决策:使用布尔变量决策、有意义的名称来封装决策、表驱动编程。 3)数据使用:遍历与目的对应 4)明确依赖关系。 设计可靠的代码: 契约式设计 (断言式设计):前置条件满足,后置条件满足 异常 :代码开始执行判断前置条件,结束执行后判断后置条件,不符合抛出异常(throw)。 断言 :代码开始执行检查前置条件,结束执行后检查后置条件,不符合抛出异常(assert)。 防御式编程 : 外界发生错误,内部不受损害 。会增加复杂度降低易读性和性能,但是增加了可靠性。 使用辅助模型:决策表、伪代码、流程图