人月神话阅读笔记
世界总是处在变化中的,需求亦然,所以项目也要适应变化,正因为如此才会不断维护升级项目。要使项目能够适应变化,以我目前的水平看来,最有效的方法就是将代码分段,将项目中经常变化的部分,或者经常使用的部分抽离出来,隐藏函数的内部过程,暴露出函数的使用接口,在需要用到的地方调用。对于这种编程思想,最早接触是在写学生管理系统时,将操作数据库的方法写在Dao层中,在servlet中决定调用哪个文件,这样的写法使得网页可维护性大大增强,在先前没有这样的编程时,所敲代码即为所用,现在想想后期可维护性大大降低,甚至可能需求稍有变动,整段代码就需要推翻重来。
书中借巴比伦塔项目的例子,讨论失败的原因是缺乏交流和组织,从而进度灾难、功能的不合理和系统缺陷纷纷出现,追其根本原因是团队成员之间的每个人的理解存在偏差,存在个人推测、群体猜忌等,因而团队之间应尽可能的相互讨论,无论是以正式的简要技术陈述的项目会议,共享的正式项目工作手册,还是非正式的小组讨论都可以让大家相互理解。软件开发人员必须设立规模目标,控制规模,考虑减少规模的方法,在规模预算时,明确所占内存空间、程序对磁盘访问次数、指明每个模块的功能。在整个实现的过程需确保连贯的系统的完整性。编程需要技术的积累,每个项目需要自己的标准组件库。数据的表现形式时编程的根本,所以战略上的突破常常来自于对数据或表的重新表达。