这周读了《代码大全2》的第27-35章,将印象深刻部分整理如下:
第一处是关于软件开发的规模。作者提到如果你习惯于开发小项目,那么你的第一个大中型项目有可能严重失控。对于个人项目,你需要做的就是与顾客的交流,人越多,需要花在交流的时间越多,这个时候就需要取一些组织技术来改善交流效率,比如采用正式文档,通过阅读和撰写各种文档来提。高交流效率。高效的交流有利于减少项目问题的发生。
第二处是关于需求变更和设计变更。我们常常倾向于一有想法就去实现那些较容易的变更,这种处理变更的方法的问题在于,那些好的变更可能反而被丢掉了。作者提的一个比较好的方法就是,记录下所有的想法和建议,不管它实现起来有多容易,把它记录下来,直到你有时间去处理它们。到那时,把它当做整体来看待。从中选最有益的一些变更来加以实施。
第三处是通过阅读本书我知道了什么叫做集成,即将一些独立的软件组合为一个完整系统。其中一种比较好的增量策略就是增量集成,它有很多优势,它易于定位错误,易于及早在项目里取得系统级的成果,可以改善对进度的监控,改善客户关系,可以帮助更加充分地测试系统中的各个单元,能在更短的开发进度计划内建造出整个系统。通过读本书,我学到了增量集成的策略有:自顶向下集成、自底向上集成、三明治集成、风险导向的集成、功能导向的集成、T-型集成等。
第四处就是我认识到了一个好的布局的重要性,关于计算机交流和与人交流的差异,布局问题大概比编程中的其它任何方面都更明显。从书中我学到好的布局应该是这样的:准确表现代码的逻辑结构、始终如一的表现代码的逻辑结构、改善可读性、经得起修改等,还要不时的考虑尽量减少实现简单语句或语句块的代码行数目。
第五处是关于高效注释的重要性,我的问题不是注释太少而是常常注释太多,结果多了很多重复性注释,相当于用不同的文字把代码的工作又描述了一次,不但给读者增加了阅读量,还没有提供更多的信息。所以不要随意添加无关注释。
第六处是关于个人性格的问题,一个好的优秀程序员应该具备聪明和谦虚、具有求知欲、诚实、善于跟别人交流与合作、有一定的创造力、遵守纪律等优秀品质,并且要养成一个好的习惯,习惯与优秀,它可以帮助你习惯于对一些选择做出反映,提高你编代码的效率与质量。