首页 > 其他分享 >《人月神话》读后感(三)

《人月神话》读后感(三)

时间:2023-03-31 22:47:18浏览次数:28  
标签:读后感 需要 神话 代码 程序 文档 BUG

第十二章是干将莫邪。主要讲的是工具很重要,需要专门人员开发。“仿真装置”很重要。不确定性是所有情况中最糟的,因为它剥夺了程序员寻找BUG的能力。

第十三章是整体部分。主要讲的是系统各个组成部分的开发者都会做出一些假设,而这些假设之间的不匹配是大多数致命和难以察觉的BUG的主要来源。

第十四章是祸起萧墙。主要讲的是灾祸通常来自于白蚁的肆虐,而不是龙卷风的侵袭。项目进度经常以一种难以察觉,但是残酷无情的方式慢慢落后。里程碑的日期选择是一个估计技术上的问题,很大程度上依赖以往的经验。里程碑的选择只有一个原则:必须是具体的,特定的,可度量的事件,能够进行清晰的定义。并不是每一天的滞后都等于灾难。如何判断哪些偏离是关键呢?可以采用PERT图(Program Evaluation and Review Technique)。有两种掀开毯子将污垢展现在老板面前的方法:减少角色冲突和鼓励状态共享。老板决不在检查状态的时候做安排。猛地掀开地毯。建立能了解状态真相的评审机制。

第十五章是另外一面。主要强调了“文档”的重要性。即使是完全开发给自己的程序,仍然是必要的,因为记忆会衰退。不同用户需要不同级别的文档:使用程序。不需要了解程序的代码。依赖程序。需要调用程序,因此需要知道程序代码的外部接口修改程序。需要完全知道程序中代码的内部结构。“流程图”被过分吹捧了。自文档化的程序:试图努力维护不同文件之间的同步关系,是一件费力不讨好的事情。 但我们在文档编制的时候违反了这一规则:程序变动总是不能及时准确地反映在文档之中。相应地解决方法就是:将文档整合到源代码中。其实说白了,就是通过加注释等方法提高代码的可读性。如果代码非常好读懂,那就不需要文档了。

最后一章是没有银弹。主要讲的是所有的软件活动包括:根本任务:即打造构成抽象软件实体的复杂概念结构。次要任务:即使用编程语言表达这些抽象实体,在空间和时间限制下将它们映射成机器语言。目前取得的进步基本上都是“次要任务”上的,但是“根本任务”上的困难一直存在,并且可以预见在短时间内无法取得数量级上的进步。困难的特性:复杂度、一致性、可变性、不可见性。

读完这本书学到了很多东西,我认为《人月神话》这本书十分适合软件程序设计者,虽然他简述了许多几十年前的事,但对于现在,仍具有教育意义,它使我们提前意识到软件开发过程中的一些弊端。

 

标签:读后感,需要,神话,代码,程序,文档,BUG
From: https://www.cnblogs.com/mine-my/p/17277669.html

相关文章

  • 人月神话阅读笔记01
    由于该书所描述的内容比较庞杂,本人预计将分为三篇文章对于相关内容和感想进行阐述。作为开章第一篇,就先来说说为什么“人月”是“神话”。小学的时候我们都做过这样的应用题:“工厂需要加工一批零件,安排5名工人的话需要10小时完成,那么安排25名工人加工,多少小时可以完成”之类的。......
  • 《程序员修炼之道:从小工到专家》读后感(四)
    一个程序很有可能出现意想不到的异常,将异常用于异常的问题,通过异常处理,例程和他们的调用者被调用者更紧密的耦合在一起怎样配平资源大多数时候,资源使用遵循一种可预测的模式,分配,使用,解除其分配。对于一次不需要不只一个资源的例程,可以对资源分配的基本模式进行扩展的:以与资源分......
  • 人月神话2
    第2章-人月神话2.1为什么项目会滞后缺乏合理的时间进度是造成项目滞后的最主要原因实际上这是一句矛盾又合理的话:矛盾的点在于,我们总是已经估算了项目的时间,对于项目需要的功能和模块都进行了划分。每一个部分我们都给了必要的时间安排。按道理来说,其实不应该出现时间上的问......
  • 人月神话
    第1章-焦油坑第一章主要阐述了三个方面:引出了一个问题:为什么我们的项目看起来好像没有问题,实际上却出现了这么多的问题?虽说一些项目可能是“失败的”,但是他们大多数还是开发出了可运行的系统。只不过只有极少数的项目满足了目标、进度和预算的要求。为什么其实系统已经开发出......
  • 《大道至简》读后感(2)
       在第一章中,作者通过愚公移山典故说明软件工程中的各个问题。软件在编程之外还有许多的事情要去做:确定目标、方案,需要的技术人员、管理人员以及其他外协人员。有的时候,也需要明白折中的道理。过去,我很少去具体的确定一个目标,与他人的协作更是很少。有事情大多是直接去做,不......
  • 《大道至简》读后感
    《大道至简》读后感读完了《大道至简》这本关于软件工程的书,让我对软件工程有了新的了解,虽然在此之前我对软件工程没有太深的了解,一直以为就是写程序,读完了这本书我对软件工程的认识更进一步。这本书中蕴涵了许多哲学大道理,还有我不太了解的专有名词,但使我对工程有了新的认识。......
  • 人月神话读书笔记3
    第十三章—整体部分。防范bug的定义。系统各个组成部分的开发者都会做出一些假设,而这些假设之间的不匹配,是大多数致命和难以察觉的bug的主要来源。好的自顶向下设计从几个方面避免了bug:首先,清晰的结构和表达方式更容易对需求和模块功能进行精确的描述。其次,模块分割和模块独立......
  • 《大道至简》读后感
    《大道至简》是一本揭示简洁之美的书籍。它引导着我们认识到,在这个信息爆炸的时代,简单并不意味着表面上的简单,而是一种精炼、纯净、精确的表达方式。读完这本书,我深受启发,产生了一些感悟。首先,我认为这本书的重要性在于,它为我们揭示了一种新的美学。传统上,我们认为美是繁复的,需要......
  • 人月神话阅读笔记(三)
    第4章:贵族专制、民主政治和系统设计概念的完整性是系统设计中最重要的考虑因素第5章:画蛇添足在开发第1个系统时,结构师倾向于简洁,之后不断产生装饰和润色。第二个系统是最“危险”的,往往会过度设计。而随后的系统由于之前的经验会相互验证,因此能识别出不够通用的部分。第6章:贯彻......
  • 人月神话读书笔记2
    第七章—为什么巴比伦会失败?巴比伦的失败是因为缺乏交流。他们无法交谈,从而无法合作,以至于工作陷入停顿。因为不知道对方在做什么,许多小组修改自己程序的功能、规模和速度,他们明确或者隐含地更改了一些有效输入和输出结果用法上的约定。由于对其他人的各种假设,团队成员之间的理解......