人月神话 人月神话 8.6分

没有达到我预期的一本书

颠颠De我
2017-08-12 11:58:27

我还记得当时我买这本《人月神话》的时候对这本书的憧憬:人月神话,莫非是讲的人类登上月球项目创下的神话? 不得不说,这个书名就引起了我无尽的遐想。作为一个立下大志的程序菜鸟,这种书看不看?必须看啊!订书,买书,一气呵成,虽然那时我才刚开始学c语言,但是我已经计划好了,等我打好基础,我就来拜读这本软件工程圣经。

在读这本书之前,我也看过了两本讲软件工程的书,分别是bob大叔的《clean coder》,还有一本《高效程序员的45个习惯——敏捷开发修炼之道》。这两本书都是主张敏捷开发的不错的好书,我也看的津津有味(虽然这种书看第二本的时候就会开始审美疲劳,但是我还是很认真的看完了,并且反思了)。最近由于有一些比较零碎的时间,虽然感觉《人月神话》对现在的我来说过于沉重,还是虔诚地打开了书本——哪怕只能吸取到大师们的一点点宝贵经验也好!

但是读到第二章我就发现有点不对。what??《人月神话》中的人月居然不是人和月亮,是对于工作量进行量度的一个单位??搞清楚这个问题之后我第一反应肯定是失望的:“想象中的登月计划的大工程没了,我可是期待了好久怎么才能一步步搭建出能够登月的代码的啊!” 不过不要紧,毕竟

...
显示全文

我还记得当时我买这本《人月神话》的时候对这本书的憧憬:人月神话,莫非是讲的人类登上月球项目创下的神话? 不得不说,这个书名就引起了我无尽的遐想。作为一个立下大志的程序菜鸟,这种书看不看?必须看啊!订书,买书,一气呵成,虽然那时我才刚开始学c语言,但是我已经计划好了,等我打好基础,我就来拜读这本软件工程圣经。

在读这本书之前,我也看过了两本讲软件工程的书,分别是bob大叔的《clean coder》,还有一本《高效程序员的45个习惯——敏捷开发修炼之道》。这两本书都是主张敏捷开发的不错的好书,我也看的津津有味(虽然这种书看第二本的时候就会开始审美疲劳,但是我还是很认真的看完了,并且反思了)。最近由于有一些比较零碎的时间,虽然感觉《人月神话》对现在的我来说过于沉重,还是虔诚地打开了书本——哪怕只能吸取到大师们的一点点宝贵经验也好!

但是读到第二章我就发现有点不对。what??《人月神话》中的人月居然不是人和月亮,是对于工作量进行量度的一个单位??搞清楚这个问题之后我第一反应肯定是失望的:“想象中的登月计划的大工程没了,我可是期待了好久怎么才能一步步搭建出能够登月的代码的啊!” 不过不要紧,毕竟是软件工程圣经,开卷有益嘛。然后。。。然后,大师们就开始教我小学数学题:“你们看,这个项目1000个人做要5年,那么它就是5000人年的工程量,那么问题来了,如果有20个人,他们效率提高了10倍,他们要工作多少年呢??” 说实话其实看到这里我心态已经开始崩溃了,随后读了两章,大致是讲:“团队中的人要明确分工,要有个老大负责架构,大型系统要靠老大一个人拍板来保证完整性,完整性直接决定程序性能”。。。

随后我就没有再继续看下去了,可能是从我心底,我更加认同敏捷开发的思想。我也在想是不是先入为主的原因,但是我仔细想了一下,应该是敏捷开发倡导者给我的理由更加充分。举一个例子,敏捷开发主张测试驱动,和客户联合编程。而《人月神话》中,如果不是我理解有误的话,传达给我的一个意思是:首席程序员占据绝对主导,等他作为客户的角度,编制好了接口说明我们应该实现些什么后,手下的人才开始干活。通过我自己的假设,这样的规则会导致:

1、首席程序员很累,特别是在大型的系统中,如果一个接口不规范或者错误了,会导致手下全部按照错误的规范编程。

2、如果客户有了新的需求,会集中反馈到首席程序员,然后改变,这个周期很长。

3、先写程序再测试,这一点和测试驱动开发相反,而我特别认同测试先行,具体的好处可以看bob大叔的《敏捷开发之道》。

总而言之,《人月神话》中很多倡导的思想,让我觉得有一些陈旧。或许因为《人月神话》只是针对于特大项目,所以是我现在无法理解的。那么,等到有一天我参与了特大项目,我会重新再来读这一本书,就像我从来没有读过一样,还是怀着我最初的那种虔诚和期待。不过现在,以我现在的所得,我只能给这本书打上一个遗憾的三星。

0
0

查看更多豆瓣高分好书

回应(0)

添加回应

人月神话的更多书评

推荐人月神话的豆列

了解更多图书信息

豆瓣正在热议

豆瓣
我们的精神角落
免费下载 iOS / Android 版客户端
App 内打开