代码大全2阅读笔记1

第3章 三思而后行:前期准备 Measure Twice, Cut Once: Upstream Prerequisites

瞄两次,切一次 Measure Twice, Cut Once

在构建活动开始之前,准备工作要做周全。

3.1 前期准备的重要性 Importance of Prerequisites

高质量的实践方法在项目的初期(计划和要求)、中期(实践)、末期(系统测试)都强调质量。

  • 前期准备适用于现代软件项目吗:准备工作的中心目的就是降低风险
  • 准备不周全的诱因:
    • 人员不具备专业技能
    • 不能抵抗“尽快开始编码”的欲望
  • 关于开始构建之前要做前期准备的绝对有力且简明的论据:
    • 诉诸逻辑 Appeal to Logic:准备工作很重要
    • 诉诸类比 Appeal to Analogy:针对将要构造的每一片段,先弄清哪些是最关键的需求和架构要素
    • 诉诸数据 Appeal to Data:发现错误的时间要尽可能接近引入该错误的时间

3.2 辨明你所从事的软件的类型 Determine the Kind of Software You're Working On

三种最常见的软件项目种类:

  1. 商业系统->高度迭代
  2. 使命攸关的系统
  3. 性命攸关的嵌入式系统->序列式

迭代开发法对前期准备的影响:迭代开发在项目进行过程中一点点吸收消化返工,使总体成本较低。

在序列式开发法和迭代式开发法之间做出选择:前者稳,后者走着瞧。

3.3 问题定义的先决条件 Problem-Definition Prerequisite

问题定义在需求分析之前,应该用客户的语言来写,从客户的角度来描述问题。

“在射击之前,确信你瞄准了正确的目标”。

posted on 2021-06-05 14:13  Lhxxx  阅读(37)  评论(0编辑  收藏  举报

导航