Java课程寒假之《人月神话》有感之一
一.焦油坑
以前上课的时候,老师讲过早期的程序由于工作量不大,大多只需要几个人完成,随着软件规模的不断扩大,代码量直线上升,仅仅一两个人可能没有办法完成这样的任务,多以开始形成了团队的规模,焦油坑说的是在完成代码的路上,许多程序工程师为此前赴后继,不断努力去解决工程上的问题,作者开始谈到了程序工程师职业的乐趣与苦恼。
说老实话,作者所说的乐趣和我当时大一的时候想的一样,作为一名程序员,我可以用手中的电脑,通过自己打出的代码,实现各种各样的功能,当时真的是简直是帅呆了,再加上影视剧中对于黑客的描述,让我对于编程有着很高的向往,“程序员凭空地运用自己的想象,来建造自己的“城堡””,运用这些编程技巧,来实现各式各样的功能。与画家不同,画家是将自己的想象描述出来,而程序员则是realize IT。
当然,后来也想书中说的一样,当我们要去实现它的时候,去要让程序达到我们所要希望的程度时,我们要付出的代价也是十分大的。当我信心满满的准备开始运行代码时,大多数情况下我遇到的是不少的warning和error。然后便开始了艰难的找bug之旅,一个接着一个。就像书中所说的:这,就是编程。一个许多人痛苦挣扎的焦油坑以及一种乐趣和苦恼共存的创造性活动。
对,恭喜我进入了这个焦油坑,也希望我能跨过这个焦油坑。
二.人月神话
对于任何一个工程,我们都需要合理地规划时间的安排,之所以我们对于进度安排的不够合理,正如书中所说:它反映了一种悄无声息,但并不真实的假设——一切都将运作良好。
我们对于实际情况无法预知,我们天真的以为一起玩运转良好,同时我们还会遇到其他各式各样的问题,由于我只有大二,对于大规模的软件并没有一个深刻的理解,所以也不敢瞎说,只能引用书中的事例:错误地将工作量与进度互相混淆,缺少对进度的跟踪和监督,当意识到进度发生偏移的时候下意识的反应是增加人手。
人月,的确不能像数学中的反函数一样,人员数量和时间是不可以相互替换的,每个人的工作不是完全无关的,之间需要不停的沟通协调,当人员数量急剧增加的时候,我们沟通的成本也在增加,导致时间的成本也在同时增加。这的确是一个无法实现的神话。
在很多时候,我们做的事并不是在编码,而是在不停的调试,真正编码的时间的确是很少的,和系统测试比起来的确可能是系统测试的时间要更长一点,我们不知道使用对象在操作的时候回发生什么,充分的时间必须要留给系统测试,否则当问题产生在交付之后就会非常麻烦。
Java课程寒假之《人月神话》有感之一的更多相关文章
- Java课程寒假之回答问题:如何将你的兴趣化为可以立足于社会的资本
在学校的时候干过几次兼职,算是无聊时候的外快吧,有一次是去辅导机构,在考试期间监考学生,前后大概四个小时,最后拿了四十五并且管了一顿饭,不得不说,小学生是真的皮,考试的时候有的爱讲话,有的是写完之后开 ...
- <<人月神话>>阅读体会(一)
第一次听说人月神话还是在大一上学期的导论课那会儿,那会儿好像就已经确定了自己要学软件,于是就去问王建民老师能不能给我推荐几本软件工程方面的书,我想要提前自己学学,以为老师会给我推荐一些某种语言类的学习 ...
- 软件项目发展历史<人月神话>这本书好
几乎是计算机软件开发的发展历史 人月神话,增加人手并不一定能提高开发速度. 原因在于,有些任务是无法分解的,存在先后顺序.无法同步进行. 增加人手,增加的是沟通成本,相互牵制.可以分解的任务就 ...
- IT项目管理——《人月神话》读后感
这也许是和候红老师的最后的几节课了吧,侯老师是一个很有思想深度,很关心同学的好老师. 一开学就布置了阅读<人月神话>的作业,说实话,我没有看,以我的速度可能2.3个小时就看完了,但是我觉得 ...
- 《The Mythical Man-Month(人月神话)》读后感(2)
第10章 未雨绸缪 在化学领域中,在实验室可以进行的反应过程,并不能在工厂中一步实现.一个被称为“ 实验性工厂(pilot planet)”的中间步骤是非常必要的,它会为提高产量和在缺乏保护的环境下运 ...
- 《The Mythical Man-Month(人月神话)》读后感(1)
临近考试周,这里我通过平时阅读的<人月神话>十九个章节和知乎.简书等网页中网友们对<人月神话>的读后感,对书中各个章节进行简单的总结,以下均为个人手打观点的思考与整合,仅供大家 ...
- 第八周读书笔记(人月神话X月亮与六便士)——到底什么才是一个程序员的自我修养?
写了这么久的读书笔记,涉及到问题大多是一些如何把软件工程做好,如何把自己的职业生涯做好.但总感觉逻辑链上缺了一环,亦即:我们为什么要把软件工程做好,我们成为一名优秀的职业生涯的意义到底在于什么?我觉得 ...
- 读书笔记第三周 人月神话 刘鼎乾 PB16070837
读书笔记第三周:人月神话 这本书主要讲述了如何管理一个软件开发团队的问题,其中如何提高团队的效率可以说是本书的重点之一了.感觉这本书地中文版翻译得比较晦涩,很多表达比较模糊,看起来有些吃力,因此下 ...
- 《人月神话》读书笔记 PB16110698 第七周(~4.19)
每逢读书笔记上交作业时刻,班级blog页面上总能看到<人月神话>相关的读书笔记,本次软工课邓老师推荐的第一篇读书笔记也是写的<人月神话>,算是对它“耳濡目染”了.本周,我终于抽 ...
随机推荐
- pygame-KidsCanCode系列jumpy-part0-使用sprite
油管(youtube)上有一个号称"史上最好的pygame教程"(传送门:https://www.youtube.com/watch?v=VO8rTszcW4s&list= ...
- Deepin 15.4 破解安装 SecureFX-7.3 失败
参考先前的文章(Ubuntu 14 安装并破解SSH工具 SecureCRT),破解安装 SecureCRT-7.3 成功,但是破解安装 SecureFX-7.3 时就一直报错: Insuffici ...
- securecrt通过ssh连接板子: 密钥交换失败,没有兼容的加密程序
在用securecrt连接板子时遇到如下问题: 需要修改板子上的/etc/ssh/ssh_config和/etc/ssh/sshd_config. 修改/etc/ssh/ssh_config,取消下面 ...
- java 读取不同的配置文件
关于JAVA 中的Configuration类 properties文件是Java平台默认的配置文件格式,其优点是格式清晰,简单易懂,使用commons-configuration读取properti ...
- Windows平台下nginx跨域配置
1)下载地址: http://nginx.org 2)启动 解压至d:\nginx,运行nginx.exe(即nginx -c conf\nginx.conf),默认使用80端口,日志见文件夹D:\n ...
- std::nothrow 的使用心得
std::nothrow 意思是说,不要跑出异常,改为返回一个nullptr. 一般的使用场景是,建议new的时候使用,避免使用try-catch来捕捉异常. 比如: float m_words = ...
- windows下查看特定端口被什么程序占用
我电脑上因为命令: netstat -ano 列出的太多了,所以不好看. 以下是其他方式: 查看8088端口占用情况: 开始---->运行---->cmd,或者是window+R组合键,调 ...
- 前端项目添加自定义icont图标步骤
文章转自https://blog.csdn.net/weixin_36185028/article/details/53416185 这里就用到了两个文件,一个是icontfont.css,另外一个是 ...
- C#指定长度截取字符串 并进行拼接。
需求:有一个字符串需要按照指定长度拆分出来,然后在增加一个字符串拼接上. /// <summary> /// 字符串截取并拼接 /// </summary> /// <p ...
- 9-11-Trie树/字典树/前缀树-查找-第9章-《数据结构》课本源码-严蔚敏吴伟民版
课本源码部分 第9章 查找 - Trie树/字典树/前缀树(键树) ——<数据结构>-严蔚敏.吴伟民版 源码使用说明 链接☛☛☛ <数据结构-C语言版>(严蔚 ...