一.焦油坑

  以前上课的时候,老师讲过早期的程序由于工作量不大,大多只需要几个人完成,随着软件规模的不断扩大,代码量直线上升,仅仅一两个人可能没有办法完成这样的任务,多以开始形成了团队的规模,焦油坑说的是在完成代码的路上,许多程序工程师为此前赴后继,不断努力去解决工程上的问题,作者开始谈到了程序工程师职业的乐趣与苦恼。

  说老实话,作者所说的乐趣和我当时大一的时候想的一样,作为一名程序员,我可以用手中的电脑,通过自己打出的代码,实现各种各样的功能,当时真的是简直是帅呆了,再加上影视剧中对于黑客的描述,让我对于编程有着很高的向往,“程序员凭空地运用自己的想象,来建造自己的“城堡””,运用这些编程技巧,来实现各式各样的功能。与画家不同,画家是将自己的想象描述出来,而程序员则是realize IT。

  当然,后来也想书中说的一样,当我们要去实现它的时候,去要让程序达到我们所要希望的程度时,我们要付出的代价也是十分大的。当我信心满满的准备开始运行代码时,大多数情况下我遇到的是不少的warning和error。然后便开始了艰难的找bug之旅,一个接着一个。就像书中所说的:这,就是编程。一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。

  对,恭喜我进入了这个焦油坑,也希望我能跨过这个焦油坑。

二.人月神话

  对于任何一个工程,我们都需要合理地规划时间的安排,之所以我们对于进度安排的不够合理,正如书中所说:它反映了一种悄无声息,但并不真实的假设——一切都将运作良好。

  我们对于实际情况无法预知,我们天真的以为一起玩运转良好,同时我们还会遇到其他各式各样的问题,由于我只有大二,对于大规模的软件并没有一个深刻的理解,所以也不敢瞎说,只能引用书中的事例:错误地将工作量与进度互相混淆,缺少对进度的跟踪和监督,当意识到进度发生偏移的时候下意识的反应是增加人手。

  人月,的确不能像数学中的反函数一样,人员数量和时间是不可以相互替换的,每个人的工作不是完全无关的,之间需要不停的沟通协调,当人员数量急剧增加的时候,我们沟通的成本也在增加,导致时间的成本也在同时增加。这的确是一个无法实现的神话。

  在很多时候,我们做的事并不是在编码,而是在不停的调试,真正编码的时间的确是很少的,和系统测试比起来的确可能是系统测试的时间要更长一点,我们不知道使用对象在操作的时候回发生什么,充分的时间必须要留给系统测试,否则当问题产生在交付之后就会非常麻烦。

Java课程寒假之《人月神话》有感之一的更多相关文章

  1. Java课程寒假之回答问题:如何将你的兴趣化为可以立足于社会的资本

    在学校的时候干过几次兼职,算是无聊时候的外快吧,有一次是去辅导机构,在考试期间监考学生,前后大概四个小时,最后拿了四十五并且管了一顿饭,不得不说,小学生是真的皮,考试的时候有的爱讲话,有的是写完之后开 ...

  2. <<人月神话>>阅读体会(一)

    第一次听说人月神话还是在大一上学期的导论课那会儿,那会儿好像就已经确定了自己要学软件,于是就去问王建民老师能不能给我推荐几本软件工程方面的书,我想要提前自己学学,以为老师会给我推荐一些某种语言类的学习 ...

  3. 软件项目发展历史<人月神话>这本书好

    几乎是计算机软件开发的发展历史     人月神话,增加人手并不一定能提高开发速度. 原因在于,有些任务是无法分解的,存在先后顺序.无法同步进行. 增加人手,增加的是沟通成本,相互牵制.可以分解的任务就 ...

  4. IT项目管理——《人月神话》读后感

    这也许是和候红老师的最后的几节课了吧,侯老师是一个很有思想深度,很关心同学的好老师. 一开学就布置了阅读<人月神话>的作业,说实话,我没有看,以我的速度可能2.3个小时就看完了,但是我觉得 ...

  5. 《The Mythical Man-Month(人月神话)》读后感(2)

    第10章 未雨绸缪 在化学领域中,在实验室可以进行的反应过程,并不能在工厂中一步实现.一个被称为“ 实验性工厂(pilot planet)”的中间步骤是非常必要的,它会为提高产量和在缺乏保护的环境下运 ...

  6. 《The Mythical Man-Month(人月神话)》读后感(1)

    临近考试周,这里我通过平时阅读的<人月神话>十九个章节和知乎.简书等网页中网友们对<人月神话>的读后感,对书中各个章节进行简单的总结,以下均为个人手打观点的思考与整合,仅供大家 ...

  7. 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?

    写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...

  8. 读书笔记第三周 人月神话 刘鼎乾 PB16070837

    读书笔记第三周:人月神话   这本书主要讲述了如何管理一个软件开发团队的问题,其中如何提高团队的效率可以说是本书的重点之一了.感觉这本书地中文版翻译得比较晦涩,很多表达比较模糊,看起来有些吃力,因此下 ...

  9. 《人月神话》读书笔记 PB16110698 第七周(~4.19)

    每逢读书笔记上交作业时刻,班级blog页面上总能看到<人月神话>相关的读书笔记,本次软工课邓老师推荐的第一篇读书笔记也是写的<人月神话>,算是对它“耳濡目染”了.本周,我终于抽 ...

随机推荐

  1. MAC终端密钥登录自动输入密码

    升级MAC系统后,发现用于MAC终端ssh服务器的登录脚本无法正常执行了,表现为:需要手动输入密钥密码,于是重新整理一下,恢复正常,在此记录一下: #!/usr/bin/expect -fspawn ...

  2. NoSQL简单介绍

    这里介绍一下如今经常使用的NoSQL以及各自的特点. NoSQL是2009年突然发展起来的.如今趋于稳定的状态,市场上也有了一些比較成熟的产品. 传统的关系型数据库为了保证通用性的设计而带来了功能复杂 ...

  3. [Python设计模式] 第19章 分公司=部门?——组合模式

    github地址:https://github.com/cheesezh/python_design_patterns 组合模式 组合模式,将对象组合成树形结构以表示"部分-整体" ...

  4. Docker CE 镜像源站

    sudo apt-get update sudo apt-get -y install apt-transport-https ca-certificates curl software-proper ...

  5. 【php】php输出jquery的轮询,5秒跳转指定url

    1.在php中直接输出jquery的轮询,5秒后跳转指定url 2.代码稍微改动,即可在html中使用 3.代码: public function alpha(){ $html = '<!DOC ...

  6. [古怪问题] Marshal.GetActiveObject 在管理员模式下无法正常运行

    问题: var obj = Marshal.GetActiveObject("PowerPoint.Application") 该代码在管理员模式下运行无法正常获取正在运行的 PP ...

  7. MySQL 5.5主从关于‘复制过滤’的深入探究

    关于MySQL主从复制的过滤,例如通过binlog-ignore-db.replicate-do-db.replicate-wild-do-table等.如果不好好研究过这些过滤选项就用的话,是有可能 ...

  8. [windows+cocos2dx]文本类

    文字也是游戏最重要的元素之中的一个,以下就看看使用动态字体和静态字体库怎样创建文字.使用动态字体库创建的文字能够包括经常使用的不论什么字符,一般假设用户要输入名字,这就最好用动态字体库.由于你不知道用 ...

  9. mysql update ...select的使用 & update 遇到 disable safe 的解决方法

    use `testdb`; update dtable d INNER JOIN new_table n ON d.details = n.details set d.email = n.email, ...

  10. nrm 安装与npm镜像切换

    家里宽带用的移动的...访问海外镜像是相当慢,npm和maven一个道理,maven可以切换到淘宝镜像或者其他的,那么npm也可以使用国内镜像,这个时候就需要用到nrm来做镜像管理了 首先这是目前本地 ...