即便是一个很简单的程序,随着开发的深入,时间的延伸,都会变得慢慢的臃肿与庞大。程序在逐渐衍生的时候,前期的设计会变得越来越模糊,系统会逐渐脆弱,对变化也越来越敏感。到了后期,一般只能在合适的地方增加程序,而不能修改。因为即使是一个小小的修改,都会导致一系列新的问题,并可能产生一些莫名其妙的bug。于是程序会逐渐变得臃肿,重复代码逐渐增加,莫名其妙的问题逐渐增多。写这样的程序完全是种折磨。
做好前期的工作会使这种感觉得到改善:
1.完善的需求
应该包括目前所有的需求,以及潜在的需求。
潜在的需求收集是最困难的。
当前需求的修改 与 新增需求
2.良好的设计
设计容易走两个极端:一个是完全没有设计。你要什么功能,一个一个给你实现,就得了;第二个是完全彻底的解耦。即使很紧密的关系,也会被完全的分离。好的设计应该能够预测可能发现变化的需求点。并预留可能修改的接口。也很难办。这个就靠经验了。