首页 > 其他分享 >读书笔记《人月神话》三

读书笔记《人月神话》三

时间:2023-06-11 14:37:15浏览次数:36  
标签:兼容性 神话 软件开发 开发人员 读书笔记 开发 线团

人月神话相对于构建之法来说,讲的完全就是团队作业的效率问题了。

首先,要为软件开发安排足够的时间,一个赶工出来的软件好不到哪去,因为当开发要达到约定期限时,开发者第一时间想到的往往不是加班加点把项目赶出来,而且也不现实。通常想到的都是在原项目的基础上进行各种各样的阉割,导致最后做出来的项目更像是一个半成品。

书中还提到,任务的重新分配和加入新的人员都是对软件开发的一种推迟,新的工作模式和人员磨合要花费很大的时间,所以这些东西在一个工程开始前都需要做好安排。

而且开发人员组中的人数并非越多越好,反而是越精简越少越好。因为开发人员组成的项目组是需要沟通合作的,两个人沟通起来肯定要比三个人沟通起来要高效的多,并且出现bug也更方便去追根溯源,但是精简不是极致,要组成一个能完成任务的最少项目组。

一个系统要符合可兼容性,这是第一要素,哪怕需要牺牲一些很好的设计,也要保证他的兼容性,兼容性可以大大的提高开发效率。

在软件开发过程中,要时刻保持人员之间的沟通,不然可能会出现开发人员画蛇添足导致项目分工紊乱,又或者在开发过程中遇到含糊不清的问题抱着猜测的心理去开发,导致出现错误,也有因为在开发途中或者明显的或者隐晦的修改了一些功能,导致bug的出现。

当小组为了满足小组的既定目标时,小组会采取各种方法来满足他们的小目标,但是他们没有去考虑这些改变会对整个项目这个大目标造成什么影响。

在构建之法中有提到,不存在完美的系统,在人月神话中又提到,缺陷不可能被彻底的修复,因为每一个补丁都会破坏系统的架构,就好像一根新线缠到了线团上,越来越多的线只会导致线团越来越乱,当想找回最初的线团时,早已梳理不清结构,所以没有永远可用的系统,推翻重写是完全有必要的。

在开发中,我们需要约定一个共同的编译器或者信息转换工具,不然在交流时展现的就不是个性了,是愚蠢的拖拉。

而一个工程的崩塌往往不是因为大的问题,而是因为很多小问题累计出来的

由于软件的不可见性,软件是逐步发育成长的,在这个过程中我们只能等待他问题的出现并且优化他。

标签:兼容性,神话,软件开发,开发人员,读书笔记,开发,线团
From: https://www.cnblogs.com/LIXIHENG/p/17472902.html

相关文章

  • 【读书笔记】——《代码大全》
    DesigninConstruction我们要学会使类与类之间、子程序与子程序之间保持松散耦合,就是使一个类或者子程序能够很容易地被另一者调用。在结对编程的对接过程中,作为ui组我们就需要调用core组写的计算核心,这就是两个保持松散耦合的模块。我们只需要知道传入参数的设置就可以实现调用......
  • 《代码大全》读书笔记二
    《代码大全2》第六、七章      作者在第六章中从抽象数据类型(AbstractDataType)出发阐释类(class)的概念,给出创建类的原因以及创建高质量的常涉及的设计问题。抽象数据类型(ADT)是指一些数据以及对这些数据所进行的操作的集合,ADT是一个比类更基础的概念,类由ADT出发得到扩展,或......
  • 人月神话读书笔记二
    作者介绍:20世纪最后一年也就是1999年的图灵奖,授予了年已69岁的资深计算机科学家布鲁克斯(FrederickPhillipsBrooks,Jr.)。布鲁克斯这个名字在中国知之者不多,但在美国却是大名鼎鼎。因为他在60年代初只有29岁时就主持与领导了被称为人类从原子能时代进入信息时代标志的IBM/360......
  • 【读书笔记】人月神话
     作为一本计算机编程项目管理类的书刊,此书书名就毫不留情地指出“用人月作为衡量一项工作的规模是一个危险和带有欺骗性的神话”。这里向读者传达了这个重要的概念,在估计和进度安排中使用的工作量单位:人月。但实际上,人数和时间的互换是近乎不可能的,因为编程项目的任务不能分解给......
  • 《大道至简》读书笔记七
    今天的阅读内容主要是关于道家文化的实际应用,作者通过丰富的生活案例,向读者展示了道家文化的精髓,并提供了一些在现实生活中的实用指导。在本章中,作者讲述了一个非常生动的案例,讲述了一位厨师在面对油漆匠的粗鲁行为时如何保持自己内心的平静和冷静。通过这段案例,作者想告诉读者要......
  • 人月神话阅读笔记1
    《人月神话》是一本经典的软件工程书籍,作者弗雷德里克·布鲁克斯在书中提出了许多关于软件开发过程的思考和经验,对软件开发领域产生了很大的影响。下面分两个部分记录我的阅读笔记:部分一:我过去是怎么做的、为什么这样不好在我以前的软件开发项目中,我通常会认为如果向团队增加更......
  • 代码整洁之道读书笔记
    可读性至关重要:代码应该易于阅读、理解和维护。命名清晰明了,函数和类的功能单一且一目了然。采用一致的代码风格和格式,使用注释来解释代码的意图和重要细节。函数的简洁性:函数应该短小精悍,只做一件事情,并且只有一个抽象层级。避免函数过长,可以通过提取功能单一的子函数来降低复杂......
  • 第一行代码读书笔记
    Android是一个开放的移动操作系统,由Google开发。它提供了丰富的开发工具和库,使开发人员能够构建功能强大的移动应用程序。 Android应用程序由组件组成,其中最重要的组件是Activity、Service、BroadcastReceiver和ContentProvider。 Activity是用户与应用程序交互的窗口,每个Ac......
  • 梦断代码读书笔记1
    第0章软件时间作者迷恋于一个开放代码并可以由游戏玩家更改程序的一个游戏,并为在它的基础上创新和增添一些功能而乐此不疲。0代表程序员的思维方式,因为计算机从0开始计数。"HelloWorld"程序能够唤醒每个程序员心中乐观的一面。既然能叫它说话,就能让它做任何事!计算机器协会(......
  • 梦断代码读书笔记3
    第8章白板上的即时贴获得更好进展的关键是将软件改进到程序员自己可以使用的程度。白板上的即时贴:用贴纸,每张纸表示大致同等的工作量。每张即时贴代表各开发者一个月或两个月的工作时间。先在墙上循“点号版本”的顺序贴上,然后就能对每一轮计划的工作和自己是否脱离显示一目了然......