寒假读书笔记1(人月神话)

书中给出了一些概念与现下创造性的软件及项目都由小组织完成,并且解释了一些程序员的脾性。程序是追求完美的工作,而这种技术活需要多与艺术才能够达至工程完美之上的精致。

1、所有的编程人员都是乐观主义者。可能是这种现代魔术特别吸引那些相信美满结局的人;也可能是成百上千琐碎的挫折赶走了大多数人,只剩下了那些习惯上只关注结果的人;还可能仅仅因为计算机还很年轻,程序员更加年轻,而年轻人总是乐观主义者。

无论是什么样的程序,结果是毋庸置疑的:“这次它肯定会运行。”或者“我刚刚找出了最后一个错误。”
2、Brooks法则:
向进度落后的项目中增加人手,只会使进度更加落后。
3、软件经理很早就认识到优秀程序员和较差的程序员之间生产率的差异,但实际测量出的差异还是令我们所有人吃惊。在他们一个研究中,Sackman、Erikson、Grand曾对一组具有经验的程序人员进行测量。在该小组中,最好的和最差的表现在生产率上平均为10:1。
4、思路是大约十个人的想法,但如果像保持文字和产品之间的一致性,则必须由一个或两个人来完成将其结论转换成书面规格说明的工作。而且,将定义写成文字,必须对很多原先并不是非常重要的问题进行判断,并得出结论。
5、书面记录决策是必要的。只有记录下来,分歧才会明朗,矛盾才会突出。书写这项活动需要上百次的细小决定,正是由于它们的存在,人们才能从令人迷惑的现象中得到清晰、确定的策略。
6、必须关心每一天的滞后,它们是大灾祸的基本组成元素。
7、不了解,就无法真正拥有。——歌德·克雷布
8、软件开发上的困难是决定说什么,而不是如何说。表达的简化仅仅能提供少量的促进作用。
9、当一个可运行系统,即使是非常简单的系统出现时,开发人员的热情就迸发出来。在开发过程中的每个阶段,总有可运行的系统。我们发现开发团队可以在四个月内,培育出比搭建复杂得多的系统。

程序本身完整,可以由作者在所开发的系统平台上运行,它通常是车库中产出的产品,以及作为单个程序员生产率的评估标准。程序可以变成编程产品,编程产品是可以被任何人运行,修复和扩展的程序,可以在多种操作系统平台上,供多套数据使用, 要成为通用的编程产品,程序必须按照普遍认可的风格来编写,特别是输入的范围和形式必须扩展,以适用于所有可以合理使用的基本算法。接着,对程序进行彻底测试,确保它的稳定性和可靠性,使其值得信赖。这就意味着必须准备、运行和记录详尽的测试用例库,用来检查输入的边界和范围。此外,要将程序提升为程序产品,还需要有完备的文档,每个人都可以加以使用、修复和扩展。经验数据表明相同功能的编程产品的成本,至少是已经过测试的程序的三倍。

十分重要的是,作为一个程序员,一定要有充分的自信,要相信自己,乐观积极地对待自己的作品,无论是什么样的程序,结果是勿庸置疑的:“这次它肯定会运行。”或者“我刚刚找出了最后一个错误。”所以系统编程的进度安排背后的第一个假设是:一切都将运作良好,每一项任务仅花费它所“应该”花费的时间。

猜你喜欢

转载自www.cnblogs.com/123456www/p/10362105.html
今日推荐