【设计篇】高层设计都是扯谈

  许多人把设计看作软件开发的关键环节,而把写代码认为是机械的劳动,他们认为工程就是画设计图,而写代码就是施工;但是你要知道,软件和机械有很大区别,软件的可塑性更强;正如Alistair Cockburn所说,“有了设计,我可以思考的更快,但其中充满了小漏洞”

  另一方面认为,重构可以取代预先设计,意思是你根本不需要做任何设计,这确实有过不少成功的案例;极限编程的支持者,极力提倡这种做法。

  如果选择了重构,那么问题重点就来了;你仍然需要开始预设计,但是不必一定找到一个正确的解决方案,此刻的你只需要得到一个足够合理的解决方案就足够了;你很肯定知道,在实现这个初始解决方案的时候你对问题的理解会加深,你可能会察觉最佳的方案和你当初的设想的有些不同。只要有重构这把利器在手,就不成问题。因为重构让日后的修改成本不在高昂

原文地址:https://www.cnblogs.com/iCanhua/p/10372583.html