当前位置:  开发笔记 > 运维 > 正文

重写还是修复?

如何解决《重写还是修复?》经验,为你挑选了3个好方法。

我确信你们都已经在那里,你们开展了一个项目,那里有一个蹩脚的旧代码库,几乎不符合目的,你必须决定从头开始重新编写或修复已经存在的内容.

传统智慧倾向于暗示你不应该尝试从头开始重写,因为失败的风险非常高.那么你在面对这个问题时做了什么,你是如何做出决定的呢?结果如何呢?



1> nsanders..:

每次使用它时都要稍微清理一下代码.如果还没有,请设置单元测试框架.所有新代码都应该编写测试.您因错误而修复的任何旧代码,也尝试在测试中滑动.

随着清理工作的进展,您将能够将越来越多的讨厌代码扫描到封装的容器中.然后你可以在将来逐一挑选这些.

像javadoc或doxygen这样的工具(如果尚未使用)也可以帮助改进代码文档和可理解性.

反对完全重写的论据非常强烈.在原始项目的时间范围内编码的那些"小错误"和行为将再次潜入其中.



2> JosephStyons..:

这真的取决于它有多糟糕.

如果它是一个小系统,并且你完全理解它,那么重写并不疯狂.

另一方面,如果它是一个巨大的遗留怪物,拥有一千万行无证的神秘代码,那么你真的很难完全重写.

需要考虑的要点:

如果它对用户来说看起来不错,他们就不会在乎它是什么样的意大利面.另一方面,如果它对他们也不好,那么获得协议(和耐心)会更容易.

如果你重写,尝试一次一个部分.一个混乱,混乱的代码库可能会使这很困难(即,只更换一个部分需要重写大型依赖代码的冰山),但如果可能的话,这使得逐步重写并从用户那里获得反馈变得容易得多.

我会毫不犹豫地为大型系统承担一个巨大的重写项目,而无法一次发布一个新版本.



3> Sam Hasler..:

请参阅Joel Spolsky的文章,你永远不应该做的事情.总而言之,当您重写时,您将失去所学到的所有课程,以使您当前的代码按照它需要的方式工作.

另见:泥球大球

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有