Measure Twice,Cut Once!

漫步到第三章:

just is about upstream prerequisites。

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

Upstream prerequisites is the most important of all. Before construction activities,the work of preparation should be made all around.。

木匠的谚语"瞄两次,切一次"(三思而后行)与软件开发中的构建部分有着密切的联系,构建活动差不多占整个项目成本的65%。

Measure Twice,Cut Once!,There is close contact with the part of construction activities. It also account for 65% in all the  project.

准备工作的中心目的就是降低风险:一个好的项目规划这能够尽可能早的将或租用的风险清除掉,以使项目的大部分工作能够尽可能的平稳地进行。

The work purpose of preparation  is reducing the risk :...

事先做好计划能避免很多的压力。让你的经验引导你吧。

..

管理者应该明白:编写软件不仅仅是写代码。

..

Some Arguments:

  • Appeal to Logic诉诸逻辑
  • Appeal to Analogy诉诸类比       /a classical tip:程序员是软件食物链的最后一环。架构师吃掉了需求,设计师吃掉了架构,而程序员则消化设计。
  • Appeal to Data诉诸数据

Here,在构建活动开始之前清除一个错误,那么返工的成本仅仅是“在开发过程的最后阶段(在系统测试期间或者发布之后)”做同样事情的十分之一到百分之一。

这里的原则:发现错误的时间要尽可能接近引入该错误的时间。

  • Boss - Readiness Test"老板就绪"测试

Self-fulfilling prophecie:我们已经非常详细地研究了需求和设计,我想不出在编码和调试期间还会遇到什么大问题。

Code Complete-13/7/29的更多相关文章

  1. 《Code Complete》ch.29 集成

    WHAT? 集成是这样一种软件开发行为:将一些独立的软件组合为一个完整的系统. WHY? 更容易诊断缺陷 尽早获得一个可工作的产品 更好的顾客关系 增强士气 更可靠地估计进度表 更准确的现状报告 HO ...

  2. code complete part1

    最近在看code complete,学习了一些东西,作为点滴,记录下来. 关于类: 类的接口抽象应该一致 类的接口要可编程,不要对类的使用者做过多的假设.不要出现类似于:A的输入量一定要大于多少小于多 ...

  3. 重读 code complete 说说代码质量

    重读code complete 说说代码质量 2014年的第一篇文章本来计划写些过去一年的总结和新年展望,但是因为还有一些事情要过一阵才能完成,所以姑且不谈这个,说说最近重读code complete ...

  4. Code Complete 读后总结和新的扩展阅读计划

    Code Complete 读后总结和新的扩展阅读计划 用了一年时间终于将代码大全读完了,在这里做一个简单的总结,并安排下一阶段的扩展阅读计划. 1.选择代码大全作为我程序员职业入门的第一本书,我认为 ...

  5. Code Complete阅读笔记(三)

    2015-05-26   628   Code-Tuning Techniques    ——Even though a particular technique generally represen ...

  6. Code Complete阅读笔记(二)

    2015-03-06   328   Unusual Data Types    ——You can carry this technique to extremes,putting all the ...

  7. 《Code Complete》ch.24 重构

    WHAT? 重构(refactoring),Martin Fowler将其定义为“在不改变软件外部行为的前提下,对其内部结构进行改变,使之更容易理解并便于修改”. WHY? 神话:一个管理很完善的软件 ...

  8. 《Code Complete》ch.23 调试

    WHAT? 调试——发现错误的一种手段 WHY? 相对于不善于调试的程序员,善于调试的程序员只需要前者1/20的时间就可以找出问题所在 HOW? 科学的调试方法 把错误的发生稳定下来:假设-证实/证伪 ...

  9. 《Code Complete》ch.21 协同构建

    WHAT? 所有的协同构建技术都试图通过这样那样的途径,将展示工作的过程正式化,以便将错误暴露出来 WHY? 提高缺陷检出率,从而缩短开发周期,降低开发成本 发现不明显的错误信息,如不恰当的注释.硬编 ...

  10. Code Complete阅读笔记(一)

    代码大全也读了好几个月了,一开始读中文版,到现在慢慢尝试着读原版,确实感受到了"每天进步一点点"的魅力.遗憾的是没有从一开始就做阅读记录,总有不能尽兴和思路不清之感.确实,就像项目 ...

随机推荐

  1. [leetcode]84. Largest Rectangle in Histogram直方图中的最大矩形

    Given n non-negative integers representing the histogram's bar height where the width of each bar is ...

  2. 微软Office Online服务安装部署(二)

    现在准备配置Client 1.进入到桌面后,打开powershell 输入: Add-WindowsFeature Web-Server,Web-Mgmt-Tools,Web-Mgmt-Console ...

  3. jmeter 如何发送上传文件接口请求

    1.上传图片接口,通过抓包工具获取接口相关信息,然后在信息头里添加Content-Disposition:form-data; name="imgType" 2.在请求中MIME类 ...

  4. dom4j 操作总结

    在官网https://dom4j.github.io/下载最新的dom4j的jar包,以及配合xpath解析的http://central.maven.org/maven2/jaxen/jaxen/1 ...

  5. fine安装教程

    先关掉lmgrd 相关的两个进程 -关闭当前license server 1. Login root 2. 执行 FineTurbo11.1_linux 文件夹内 ./install_numeca 3 ...

  6. SPARK安装一:Windows下VirtualBox安装CentOS

    一.虚拟机安装 重点是网络设置,参见:https://www.linuxidc.com/Linux/2018-04/151924.htm 本文用三台2核4g虚拟机做集群,虚拟机安装centos7,如下 ...

  7. 学习:java集合

    java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, Jav ...

  8. margin和padding的用法与区别--以及bug处理方式

    margin和padding的用法: (1)padding (margin) -left:10px; 左内 (外) 边距(2)padding (margin) -right:10px;   右内 (外 ...

  9. 5.html基础标签:块级+行级元素+特殊字符+嵌套规则

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  10. blender 快捷键手动整理

    armature envelop 设置骨骼影响范围:Edit Mode 下,选中骨头的其中一端,按 Alt + s,缩放 T 呼出 Tools N 呼出 Property Ctrl + Alt + Q ...