在我们的应用程序中,我们有两个或三个类,其中包含整个Java Swing应用程序逻辑。这两个或三个类包含大约7k行代码。
现在我被分配了重构此Java代码的任务。
我该如何开始?是否有任何工具可用于重构或至少指导我们?
答案 0 :(得分:4)
我建议使用Eclipse - 用于编辑和重构的出色Java IDE。它有几个重构工具。有关如何使用Eclipse的优秀教程位于:
http://www.cs.umanitoba.ca/~eclipse/13-Refactoring.pdf
如果您还不相信,有一篇关于使用Eclipse进行重构的强大文章:
最后,另一篇关于如何在Eclipse中进行重构的文章,包括技术和工具,可在以下网址找到:
http://www.ibm.com/developerworks/opensource/library/os-ecref/
还有另一个关于重构Java代码的策略的stackoverflow问题,您可能会感兴趣:
https://stackoverflow.com/questions/128498/what-are-the-best-code-refactoring-strategies
希望有所帮助,祝你好运!
答案 1 :(得分:2)
我假设您正在尝试将这些大类拆分为较小的类。最常见的方法是使用Extract Class重构。事实上,这是我博士论文工作中的一个主要话题。
其中一个难点是决定新课程的内容。我知道有两种公开可用的工具 - ExtC(我的工具)和JDeodorant。两者都是Eclipse插件,我将它们归类为原型。如果你想尝试使用我的工具,我很乐意提供帮助。
一旦你决定进入新课程的内容,就必须将课程分成其他课程。 Eclipse的Extract类重构错误名称为isn't really helpful。 IntelliJ的IDEA要好得多,但仍有一些缺陷。 JDeodorant也可以执行拆分,但它也有一些错误。
答案 2 :(得分:1)
Eclipse有一些内置的重构工具。您可以重构方法的签名,提取接口和类,在层次结构树中上下拉动方法,移动包......以及只需两次单击即可。
此外,您可以从Martin Fowler的书“重构:改进现有代码的设计”开始。
答案 3 :(得分:1)
IntelliJ拥有理解Java代码的所有智能,并提供出色的重构。现在有一个free and open source version。
答案 4 :(得分:0)
由于重构代码主要依赖于开发人员(由工具辅助),因此在重构时,IDE是一个非常重要的工具。
Eclipse和IntelliJ IDEA都有很多重构支持。
有关概述,请结帐:
答案 5 :(得分:0)
我创建了自己的重构工具,尝试将使用相同变量集的方法组合在一起。这是一个非常早期的原型。它仅作为Windows Eclipse插件提供。