《人月神话》阅读笔记1
【壹】快乐
在书的第一章中提到,编程为什么有趣?作为回报,它的从业者期望得到什么样的快乐?
作者写了五点,分别为:
一、这种快乐是一种创建事物的纯粹快乐。
二、这种快乐来自于开发对他人有用的东西。
三、快乐来自于整个过程体现出的一股强大的魅力——将相互啮合的零部件组装在一起,看到它们以精妙的方式运行着,并收到了预先所希望的效果。
四、这种快乐是持续学习的快乐,它来自于这项工作的非重复特性。
五、这种快乐还来自于在易于驾驭的介质上工作。
这让我不禁想到,待两年后,我也即将面临就业的选择,在就业的时候,我需要考虑这份工作是否适合我,是否合乎我的心意,我能否从我未来的工作中获取相对应的成就感及快乐呢,这是值得我去深思的。
【贰】苦恼
然而,过程并非都是快乐,我们要坦然面对一些编程固有的苦恼:
一、苦恼来自追求完美。
二、苦恼来自由他人来设定目标、供给资源和提供信息。
三、对于系统编程人员而言,对其他人的依赖是一件非常痛苦的事情。
四、概念性设计是有趣的,但寻找项碎的bug却只是一项重复性的活动。
五、有时也是一种无奈—当投入了大量辛苦的劳动,产品在即将完成或者终于完成的时候,却已显得陈旧过时。
书中所写,让人不禁深思,其实在我们的生活和学习中,往往也是会遇到许多的困难的,但是我们要努力去克服这些困难,其实,每遇见一次挫折,就相当于我们每次都在进步,“没有问题就是最大的问题”,我们要努力去寻找问题,并解决问题件,唯有如此,才能打破常规,创造出属于自己的价值。
【叁】合理安排
项目的时间依赖于顺序上的限制,人员的最大数最依赖于独立子任务的数量。从这两个数值可以推算出进度表,该表安排的人员较少,花费的时间较长(唯一的风险是产品可能会过时)。相反,分派较多的人手,计划较短的时间,将无法得到可行的进度安排。总之,在众多软件项目中,缺乏合理的进度安排是造成项目滞后的最主要原因,它比其他所有因素加起来的影响还要大。
【肆】合理划分
程序职员的专业化分工,使程序员从文书等杂事中解放出来,同时还可以对那些经常被忽视的杂事进行系统整理,确保了它们的质量,并强化了团队最有价值的财富——工作产品。
要使工作易于管理,必须清晰地划分体系结构设计和实现之间的界线,系统结构师必须一丝不苟地专注于体系结构。
【伍】概念的完整性
编程系统(软件)的目的是使计算机更加容易使用。
Blaauw指出,整个创造性活动包括了三个独立的阶段:
1.体系结构(architecture)
2.设计实现(implementation)
3.物理实现(realization)。
在实际情况中,它们往往可以同时开始和并发地进行。
(以上内容大部分摘抄于《人月神话》32周年中文纪念版,若有侵权之处,请联系删除)