zoukankan      html  css  js  c++  java
  • 读书笔记三

    本次分享《人月神话》第五章“画蛇添足”,

    本一章节令我印象最深的就是对“第二个程序的开发”

    一种普遍倾向是过分地设计第二个系统,向系统添加很多修饰功能和想法,它们曾在第一个系统中被小心谨慎地推迟了。

    这样一种开发思路,不免会对程序的开发造成严重的后果。

    结构师如何避免画蛇添足——开发第二个系统所引起的后果?

    是的,他无法跳过二次系统。但他可以有意识关注那些系统的特殊危险,运用特别的自我约束准则,来避免那些功能上的修饰;根据系统基本理念及目的变更,舍弃一些功能。一个可以开阔结构师眼界的准则是为每个小功能分配一个值:每次改进,功能 x 不超过 m字节的内存和 n微秒。这些值会在一开始作为决策的向导,在物理实现期间充当指南和对所有人的警示。

    项目经理如何避免画蛇添足?

    他必须坚持至少拥有两个系统以上开发经验结构师的决定。同时,保持对特殊诱惑的警觉,他可以不断提出正确的问题,确保原则上的概念和目标在详细设计中得到完整的体现。

    关于本章其他的收获:

    1. 尽早交流和持续沟通能使结构师有较好的成本意识,以及使开发人员获得对设计的信心,并且不会混淆各自的责任分工。

    2. 结构师如何成功地影响实现:

    i. 牢记是开发人员承担创造性的实现责任;结构师只能提出建议。

    ii. 听取开发人员在体系结构上改进的建议。

    3. 第二个系统是人们所设计的最危险的系统,通常的倾向是过分地进行设计。关于这一点也许是正确的,但是这是一个回避不了的问题,如果没有开发第二个系统经验的人,就不可能有开发第三个系统经验的人了。

     

     

    这个标题起得让人摸不清头脑,其实值得是第二系统效应(second-system effect)。认识到第二个系统存在的风险,可以让架构师保持警惕,少犯错误。

  • 相关阅读:
    0414结对 复利
    0619-学习进度条
    测试
    冲刺一总结
    实验四主存空间的分配和回收
    0622-软件工程学期总结
    学术诚信与职业道德有感
    《构建之法》第8、9、10章
    0512 操作系统进程调度实验
    构建之法 第6~7章读后感和对Scrum的理解
  • 原文地址:https://www.cnblogs.com/KYin/p/10424938.html
Copyright © 2011-2022 走看看