在我们的应用程序中,我们有两个或三个类,其中包含整个Java Swing应用程序逻辑。这两个或三个类包含大约7k行代码。
现在我被分配了重构这段Java代码的任务。
我该如何开始?有没有什么工具可以进行重构,或者至少可以指导我们?
发布于 2010-12-03 07:36:14
我假设您正在尝试将这些大类划分为较小的类。最常见的方法是使用Extract Class重构。碰巧这是我的PhD论文工作中的一个主要主题。
困难的部分之一是决定新类中包含的内容。据我所知,有两个公开可用的工具-- ExtC (我的工具)和JDeodorant。两者都是Eclipse插件,我将它们都归类为原型。如果你想用我的工具,我很乐意帮忙。
一旦你决定了应该把什么放入新的类中,你就必须做将这个类分成其他类的实际工作。Eclipse的提取类重构是命名错误的,并且是isn't really helpful。IntelliJ的想法要好得多,但仍然有一些缺陷。JDeodorant也可以执行拆分,但它也有一些but。
发布于 2010-12-02 17:50:55
我推荐Eclipse --用于编辑和重构的出色的Java IDE。它有几个重构工具。有关如何使用Eclipse执行此操作的优秀教程位于:
http://www.cs.umanitoba.ca/~eclipse/13-Refactoring.pdf
如果您还不信服,有一篇关于使用Eclipse重构的力量的精彩文章,请访问:
http://www.eclipse.org/articles/article.php?file=Article-Unleashing-the-Power-of-Refactoring/index.html
最后,另一篇关于如何在Eclipse中重构的文章,包括技术和工具,可以在以下位置找到:
http://www.ibm.com/developerworks/opensource/library/os-ecref/
还有另一个关于重构Java代码的策略的堆栈溢出问题,您可能会感兴趣:
https://stackoverflow.com/questions/128498/what-are-the-best-code-refactoring-strategies
希望这对你有帮助,祝你好运!
发布于 2010-12-02 17:38:45
Eclipse有一些内置的重构工具。你可以重构方法的签名,提取接口和类,在层次树中上下拖动方法,移动包……所有这一切只需点击两下。
此外,您可以从Martin Fowler的书“重构:改进现有代码的设计”开始。
https://stackoverflow.com/questions/4333452
复制相似问题