人月神话----3

 一、编程为什么有趣?

    关于这个问题,作者在文中写道:“首先是一种创建事物的纯粹快乐;其次,快乐来自于开发对其他人有用的东西;第三是整个过程体现出魔术般的力量——将相互啮合的零部件组装在一起,看到它们精妙地运行,得到预先所希望的结果;第四是学习的乐趣,来自于这项工作的非重复特性; 最后,乐趣还来自于工作在如此易于驾驭的介质上。”

        这让我想起了自己在完成四则运算作业时的感受,老师刚布置任务时,我就感到要求我们利用代码去创造一种东西出来,是件奇妙的事情。如果我们的产品能受到广大用户的认可,仿佛我们正在做着一件有意义的事。在作业前曾设想自己想达到什么目的,然后想方设法去实现,虽然过程很辛苦,但最终看到程序按照自己的思想稳定运行,正如作者所说:“在键盘上键入正确的咒语,屏幕会活动、变幻,显示出前所未有的或是已经存在的事物。”成就感还是有的。这就是我对编程的初认识。

       二、妥善安排进度

       在编程过程中,我们时常会做一些重复性的工作或预料之外的工作,通常是因为时间安排不合理,正如作者所说:“在众多软件项目中,缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素加起来的影响还大。”我们在进行编程前,总是要进行时间设计,但很多人特别是新手往往会把大部分时间放在编写代码上,在项目测试上预留很短的时间,一方面正如作者所说的乐观主义,另一方面是经验不足。写完程序运行时,发现错误,又一遍遍地查找问题,导致时间大量流逝;而且,因为时间的占用,导致影响到其他任务的完成,严重的,甚至导致整个任务的失败。

       三、合理的分工很重要

       在这一点,作者用了大量篇幅去描写,既说了小型精干的队伍,又有专业的大型系统,既明确了主管与项目负责人的区别,又说了老板与客户的关系,还有各式各样的完成任务的方法,都涉及到了分工职责,处于什么位置该做哪些事情,只有进行了合理分工,大家才能有条不紊,不会有人忙死有人闲死,或者出现很多人花费了大量的时间做着毫无意义的工作。既降低工作完成效率,也影响工作质量。

        四、不要放过任何一个小错误

        通常灾祸来自白蚁的肆虐,而不是龙卷风的侵袭。同样,项目进度经常以一种难以察觉,但是残酷无情的方式慢慢落后。我们在编程过程中,要认真细致,不能放过任何一个细节,因为很多错误往往是一个符号或标点造成的。另外,每做完一个模块,就去运行测试,遇到问题要及时修正解决,不能想着到最后再一起解决,因为一天一天的进度落后是难以识别、不容易防范和难以弥补的。等到问题迫使任务无法继续完成时,问题已经很严重了。

猜你喜欢

转载自www.cnblogs.com/birdmmxx/p/10425585.html