使坏代码好

时间:2008-10-10 10:44:38

标签: refactoring coding-style

我自己正在阅读一篇关于将现有的错误代码更改为好的代码的文章。 作为参考,这是文章http://www.javaworld.com/jw-03-2001/jw-0323-badcode.html?page=1

的链接

广泛谈到以下

  • 添加评论

  • 重新保理代码

    • 将大班级分成较小的班级
    • 将大型功能分解为更小的功能
    • 更改难以理解的代码
  • 使用分层架构

似乎很好。你可能遇到过这个列表的任何插件吗?

7 个答案:

答案 0 :(得分:9)

在进行任何重构之前,请确保您有一套可以在代码上运行的回归测试。如果您因为错过了原始“坏”代码实际执行的细微差别(并且在重构中遗漏了它)而引入了数千个回归错误,那么重构您的代码库是不好的。

答案 1 :(得分:3)

关于评论,使用JavaDocs是一种好习惯。这就像在编写代码时构建文档一样。

答案 2 :(得分:3)

Martin Fowler写了一本关于重构的优秀书。

Here is the catalog of refactorings from the book.

答案 3 :(得分:1)

阅读并修改它,随时评论,以便在永久更改任何代码之前完全理解它。

答案 4 :(得分:1)

大多数代码都可以从高级接口重构(并且创建其中一个代码可能是任何重构项目的良好开端)。

不值得从头开始重新实现,因为旧代码可能有许多特殊情况或解决方法或没有记录但必要的行为。因此,始终使用现有代码作为重构的基础。

通过添加JavaDocs和注释来学习现有代码库。这可以构成您稍后重新设计的基础,因为您了解代码的作用。

可能只需重构和更改变量名称就可以提高可读性。如果可能的话,总是希望做更简单的重构,特别是如果代码有效并且由于这些简单的问题而难以维护。

答案 5 :(得分:1)

确保您拥有一整套回归测试!

抓住FindBugs,PMD等,开始研究他们要说些什么。我倾向于发现报告最多Findbugs错误的类有很多问题,并且是开始重构工作的好地方。

另一个值得关注的工具是STAN4J,它会生成结构指标,显示您的代码设计可以真正改进的位置。它将检测脆弱的继承heirarchies,糟糕的抽象等。这些应该是任何重构努力的目标。

值得一直关注这些工具,如果你学习如何解释他们对你说的话,他们会帮助你。

还要注意你的IDE的警告,他们是有原因的。

  • 我不隶属于任何这些工具提供商(即使它们是免费的),但我确实使用它们并且给它们留下了深刻的印象!

答案 6 :(得分:0)

问问自己为什么要重构代码。代码是否需要触及?通过改进脆弱的代码很容易打破它。

如果您决定需要更改代码,正如其他人所提到的那样,进行一系列测试将会有很大帮助。

查看要修改的文件的修订历史记录,看看是否已进行任何更改以修复错误,以便您可以避免重写这些错误。

如果出于性能原因重构代码,请留意算法改进。如果您可以在 hot 代码段中将O(n ^ 2)算法更改为O(n log(n)),那么对于您的代码而言,这可以比任何其他小的代码更多变化。