代码大全(code complete) 有感

软件开发的工作内容

  • 问题定义
  • 需求分析
  • 实现计划
  • 总体设计
  • 详细设计
  • 创建即实现(编码和调试)
  • 系统集成
  • 单元测试
  • 校正性维护
  • 功能强化

隐喻

好比监听器看做是某单位的看门老大爷

这里的类比: 通过把一个你所陌生的事务与你所熟知的事务比较, 你对它有进一步的认识, 从而形成你对它的独到的深刻理解, 这种叫做隐喻”模型化”.

例如: 分子运动论是在 “保龄球”模型上建立起来的.

软件创建的先决条件

在进行创建工作之前必须做准备工作的论据.

利用 逻辑推理, 时间, 人力, 物力, 财力.

利用 类比, 即 隐喻, 创建一个软件系统与其他需要耗费人力与财力的工程是一样的. 如果你要造一幢房子, 在开始砌第一块砖之前, 你必须先画好建筑图与蓝图.

子程序的要求

内聚性: 即一个函数只完成单一的工作

松耦合: 指两个子程序(函数)之间联系的数量越少越好

防错性编程: 使用断言 (isOK), 使用错误的数据调试 等等.

结构化设计: 自顶向下分解

面向对象设计: 识别对象及其属性, 确定每个对象可以做些什么, 确定每个对象对其他对象来说的可见部分, 确定每个对象的公共接口.

原文地址:https://www.cnblogs.com/moveofgod/p/3769612.html