- 冒号空间 - https://blog.zhenghui.org -

可维护性和敏捷设计

《冒号课堂》中特别强调软件质量因素中的可维护性,我觉得这与现在业界流行的敏捷设计是一致的。在我看来,所谓敏捷,就是软件适应变化的能力很强,即可维护性很好。如果能够以书中重点强调的几个设计原则为指导(还包括其他一些原则),自然就会成为敏捷设计。


不少人对于敏捷的理解就是“simple design”,即满足当前的需求就行,不要过度设计。我觉得从这个角度理解敏捷是不对的。敏捷强调迭代增量开发频繁重构,这自然要求软件可维护性高,否则重构就会举步维艰,牵一发动全身。最近项目中有个反例:开始为了方便到处使用单例模式(理由是simple design),结果后来不得不重构的时候导致大规模的源码和测试代码改动。


Share