我为我的个人项目做了一些工作,现在我理解为什么人们告诉我们在编码之前计划出所有的接口和设计.我有一些好的课程,已经有一些工作代码,但总的来说组织(架构)有点乱,我已经说过"如果我再做一次,我会这样做. ..".问题是,我是否应该勾画出一个关于我希望我的代码看起来如何的计划,并将现有代码重构为新模型,或者我是否应该采用有效的方法,并为缺陷部分编写所有新代码(基本上开始)从头开始,从这个项目中获得相当数量的复制和粘贴).
我有git历史我不确定我想失去,但慢慢重写一切的任务似乎令人生畏.所以我要问的问题是:在重构一个年轻的项目时,是否应该使用进化或革命来第二次纠正它?
重构旧代码(进化)。重写代码总是会带来你没有想到的问题。我确信现有代码已经更新,其中很多更新是错误修复、增强等。您可能不知道当时为什么进行更改,但您需要这样做,并且重写代码可以删除所需的内容改变。
采取小步骤还可以帮助您避免“噢,‘咒骂’”的情况,即您尝试做出一些巨大的改变,但遇到的情况却没有按照您期望的方式运行。通过演进,您可以取消更改,但仍然拥有一个可工作的系统,因为架构已在一定程度上完成了。