重构与设计:重构一书提到重构与设计的关系,讲到的一个场景就是,作者早年编程,总是混混额额的开始编码,很快就发现事先做好设计可以节省很多返工的工作量,于是又有意识的加强“预先设计”风格。
这不正是目前国人的写照吗,国人往往吃了没有设计的亏后,就过分强调设计,特别在大项目大企业更是如此,其实还是处于软件开发的初级阶段,是走了另一个极端。
有观点认为,特别是极限编程认为,完全靠重构也可以达到设计良好的软件。但是作者认为好的有效率的办法是适度设计。意思是你不需要一个最正确的解决方案,你只需要一个足够合理的方案,然后开始编码,编码中再不断重构。
这样做的好处是,设计的完全正确是很难的,你总有无法准确预测未来的时候,如期靠猜,不如把精力放在确定的事情上,设计只考虑目前确定的需求,对于变化,可以靠重构来满足。