一、今日学习内容
阅读笔记
继续阅读了《人月神话》这本书,越往后读越吸引我,其中的许多内容都让我有深深的思考,对于软件工程的相关内容也有了更深的感悟。在阅读之前觉得团队制定任务表没有那么重要,所以导致好多任务完成不及时,到最后匆匆忙忙,觉得很赶。
要保证一个项目的进度被大幅度推迟,制订进度表很重要。进度表由里程碑和完成的时间组成。里程碑必须具体、明确、可界定。某一里程碑要么到达,要么没有到达,不应该是80%到达的。一个程序员对于明确的里程碑是很少说谎的,如果里程碑很明显,他不能欺骗自己。长期的计划拖延是士气杀手,如果你错过一个限期,确保你在下一个限期按时完成。对于老板,当然应该把握工程的进度,但是他不应该随意行动。对于经理能够处理的问题,他不应该采取行动。小的计划和控制组可能是一个控制项目进度很好的看门狗。
之前并没有发现软件文档的重要性,但是阅读完这本书之后,发现论文文档的重要作用。软件的文档是与机器同样重要的,即使是对于极其私人的程序,说明文档也是必须的。不应该由于进度压力等任何原因忽视文档的编写。绝大多数的文档失于概述部分过于简略。程序的概述应包括目的、运行环境、输入输出的范围、函数和应用的算法、输入输出格式、操作指令、选项、运行时间、准确性。修改一段程序也需要有一段概述,应包括流程图或者子程序结构图、详细的算法描述、所有文件的说明、通过结构的概述以及对最初设计进行更改的原因的说明。传统的用流程图说明程序的方式基本已经过时,因为如果流程图超过一页,将变得极其难懂。在源代码中嵌入说明的自说明文档方式是很好的改进。使用自说明文档的方式应注意以下几点:使用程序名和变量名携带更多的文档信息;使用空间和格式来显示子程序、嵌套,增强可读性;插入必要的段落说明,尤其是在模块的开头;另外在多说明使用的原因,而不是仅仅是怎样使用,因为动机是理解的关键。
在以后的学习中,还要提高自己编写文档的能力以及要及时制定任务表并按时完成任务。