分类: C/C++
2012-03-25 18:16:47
在一个项目的设计阶段,理论上说我们总是希望软件的设计尽善尽美,希望它能包含所有可能发生的情况。然而在实践中,因为受到智力的限制以及时间的约束,我 们无法实现这种完美的设计,为此我们可以初期选择一个稍简单的设计,在之后开发过程中,比如在增加新的功能或修bug时对软件进行重构。
一般而言,当我们发现代码很难改动时,就需要重构。以下几种情况可以使代码难以修改:
1、代码可读性太差;
2、代码中有冗余的逻辑,即同一逻辑重复出现在多个地方;
3、代码的修改会破坏现有代码的行为;
4、代码的分支逻辑(conditional logic)非常复杂。
重构也不是万能的,有时将现有代码推翻重新设计会来得更简便些。还有当项目接近交付期限时,也不适合重构,因为重构的好处在这时并不能体现出来(比如使代码更易扩展)。