重构在什么时候变得不值得?

10

假设您有一个目前正常运行的程序。该应用程序背后的代码非常糟糕,占用大量内存,不可扩展,如果要实现任何功能更改需要进行重大重写。

那么,在什么时候重构变得不如完全重建合理?

13个回答

0

没有文档,没有原始作者,没有测试用例,还有一堆剩余的bug。


0

Bob 叔叔 发表了以下观点:

什么时候重新设计才是正确的策略?

很高兴你问出这个问题。这就是答案。永远不要。

看,是你把这个乱子搞出来的,现在你得收拾它。


0

当我继承的代码真的很糟糕时,我并没有通过小的增量变化取得太多成功。理论上,小的增量方法听起来不错,但实际上,它最终只会得到一个更好但仍然设计不良的应用程序,每个人都认为这是你的设计。当事情出了问题,人们不再认为是因为之前的代码,而是变成了你的错。因此,除非我真的要按照自己的方式做,否则我不会使用重新设计、重构或任何其他暗示向管理者表明你正在改变事物的词语。否则,即使您可能已经解决了数十个问题,任何仍然存在的问题(但未被发现)现在都将归因于您的重做。请确保,如果代码很糟糕,那么您的修复将揭示更多以前被忽略的错误。

如果您真正知道如何开发软件系统,那么我会对整个系统进行重新设计。如果您不真正知道如何设计优秀的软件,则建议您坚持小的增量变化,否则您可能最终得到的代码库与原始代码一样糟糕。

在重新设计时经常犯的一个错误是忽略原始代码库。然而,重新设计并不意味着完全忽略旧代码。旧代码仍然需要完成新代码要完成的任务,因此在许多情况下,您需要的步骤已经在旧代码中了。复制和粘贴,然后进行微调,在重新设计系统时效果非常好。我发现,在许多情况下,重新设计和重写应用程序,并从原始代码中窃取片段比进行小的增量更改要快得多,也更可靠。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接