一.焦油坑

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

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

    [原创]RedisDesktopManager工具使用介绍 1 RedisDesktopManager简介 一款能够跨平台使用的开源性redis可视化工具.redis desktop manager主 ...

  2. [原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试),长期有效

    [原创] 上海招聘高级测试工程师(性能测试/自动化测试/App测试方向),长期有效 高级测试工程师(性能/自动化方向) 1.负责性能测试计划,性能需求分析,性能测试方案和用例设计,搭建性能测试环境,执 ...

  3. 设备树(device tree)学习笔记

    作者信息 作者:彭东林 邮箱:pengdonglin137@163.com 1.反编译设备树 在设备树学习的时候,如果可以看到最终生成的设备树的内容,对于我们学习设备树以及分析问题有很大帮助.这里我们 ...

  4. CSS 埋点统计

    原文地址: https://my.oschina.net/u/1778933/blog/1608904 CSS 埋点统计 当一个网站或者 App 的规模达到一定程度,需要分析用户在 App 或者网站的 ...

  5. 论YUV422(YUYV)与YUV420相互转换

    Example 2.13. V4L2_PIX_FMT_YUYV 4 × 4 pixelimage start + 0: Y'00 Cb00 Y'01 Cr00 Y'02 Cb01 Y'03 Cr01 ...

  6. 日志分析工具 Log Parser

    微软的Log Parser, 下载地址 https://www.microsoft.com/en-us/download/details.aspx?id=24659 支持多种文件格式的分析,输入输出, ...

  7. OSI(Open System Interconnect) 网络七层协议

    你作为用户想发个快递,你叫来了顺丰,顺丰快递员从你手里拿走了快递,又装进一个盒子,然后把一个快递单子贴在了上面. 快递员回到集散中心,将快递往那一扔不管了,分拣员把快递按投递的省市分开,发往同一地区的 ...

  8. 在mysql命令行下执行sql文件

    ***********在mysql命令行下执行sql文件*********** C:\Windows\system32>cd E:\MySQL\mysql-5.7.16-winx64\bin / ...

  9. Cocos 编译android-studio

    3.15.1 之前: http://www.jianshu.com/p/ac2bac4734b8 http://www.jianshu.com/p/3d0cc85460d1 在工程项目下 运行 coc ...

  10. Sublime Text3 运行 PHP 文件

    在 Zend Studio(12.5)下可以通过 Run(Ctrl + F11)把 PHP 程序的执行结果通过 Debug Output 显示在 IDE 中,这样比开启 Server,再打开浏览器执行 ...