提高可维护性不仅要靠良好的编码风格,而且还要在设计架构和模块时就充分考虑可维护性。有些模块代码风格太差,程序表达不甚清楚明了,后续维护的人阅读这样的代码简直是折磨,想去查文档了解代码也不太现实,因而在实现时一定要注意保持良好的编码风格,对一些特殊的做法,添上实际例子或者写下如此做的原因。也要注重单元测试代码的风格,对复杂的测试尽量写注释,否则单元测试在后期维护中可能起不到应有的作用。设计时注重提高可维护性我认为有几个方面。第一个方面是在设计架构时,合理划分功能,别给某个模块压过多的职责,注意设计职责良好、相互协作的模块群。第二个方面是考虑模块能方便应对后续的变化,当然正确识别变化需要一定的领域经验。对那些不经常发生、影响范围比较小的变化,尽量进行良好封装,以做到变化发生时只需少量修改代码,也可以通过插件机制做到动态加载,甚至都不需要修改原来的代码;对那些经常发生、影响范围比较大的变化,考虑剥离出去用更灵活的微型语言来描述,或者用数据文件来描述,核心代码只负责解释微型语言,或解析数据文件并使用其中的数据来调用相关的代码来完成整体功能,这样就既保证了核心代码的稳定性又保证了整体功能的灵活性。在设计时要考虑的第三个方面是提高模块的可显性和透明性,让人很容易就能清楚程序目前的状态,这样就能方便模块上线初期进行调优,在后期能放心的修改代码;其实做到这一点有很多办法,比如记录关键数据结构的状态、监控复杂操作的执行,关键是要在做设计时有这个意识,并通盘考虑这些问题。
阅读(1245) | 评论(0) | 转发(0) |