2010-12-02 7 views
1

アプリケーションでは、Java Swingアプリケーションロジック全体を含む2つまたは3つのクラスがあります。これらの2つまたは3つのクラスには、約7k行のコードが含まれています。何千ものJavaコードをどのようにリファクタリングするのですか?ツールはありますか?

このJavaコードをリファクタリングするタスクが割り当てられました。

どうすればよいですか?リファクタリングを行うツール、または少なくとも私たちを導くツールはありますか?

+3

リファクタリングで正確に何をしたいですか? –

+3

黒い雲になって申し訳ありませんが、良いOOPテクニックを使用して完全に書き直しを行うのがこの段階では良いとは思いませんか? –

+0

リファクタリング? –

答えて

2

私はあなたが小さなものにこれらの大規模なクラスを分割しようとしていることを前提としています。これを行う最も一般的な方法は、Extract Classリファクタリングです。これは私の博士論文研究の主要な話題です。

難しい部分の1つは、新しいクラスに何が入るかを決めることです。そのヘルプについては、私が知っている2つの公開ツール((私のツール)とJDeodorant)があります。どちらもEclipseプラグインであり、両方をプロトタイプとして分類します。私のツールを使用したい場合は、私は喜んで助けてくれるでしょう。

新しいクラスに何を入れるべきかを決めたら、そのクラスを他のクラスに分ける実際の作業を行う必要があります。 EclipseのExtract Classリファクタリングの名前が間違っており、isn't really helpfulです。 IntelliJのIDEAははるかに優れていますが、まだいくつかのバグがあります。 JDeodorantはスプリットを実行することもできますが、いくつかのバグもあります。

0

リファクタリングコードは主に開発者(ツールの支援を受けている)に依存しているため、IDEはリファクタリングに関して非常に重要なツールです。

EclipseとIntelliJ IDEAの両方にリファクタリングのサポートがたくさんあります。概要については

、チェックアウト:

+0

コードが疎結合で、すでにOOPに従っているなら、Eclipseリファクタリングのために行くことができます。リファクタリングするのは簡単です。しかし、私の場合、MVC、OOPテクニックを使用しないでこの7k行のように、この場合どのようにリファクタリングされたコードを作成しますか? – u449355

+2

あなたの質問に私のコメントを参照してください...場合によっては、このタイプのコードをベビーステップ(IDEによって提供されるリファクタリングステップ)を使用してリファクタリングすると、それが何をしているのかをより深く理解できるコードになります。次のステップは、IDEによって提供される標準リファクタリングを超える部分的な再書き込み/再構成を行うことです。しかし最初から書き直すことはめったにありません(ソフトウエア開発の私の経験に基づいて)少なくとも – ddewaele

1

Eclipseは、いくつかの組み込みのリファクタリングツールを持っています。メソッドのシグネチャをリファクタリングし、インタフェースとクラスを抽出し、階層ツリーでメソッドを上下に引き出し、パッケージを移動することができます。

また、Martin Fowlerの書籍「リファクタリング:既存のコードの設計を改善する」から始めることもできます。

+2

*すごくうまく設計された緩やかに結合されたクラスのためには2回クリックするだけです。コードが悪夢であれば、Eclipseのリファクタリングツールは実際にはチャンスがありません。 –

+0

私はコードが悪夢であり、私はリファクタリングする必要がある、維持できるようにそれを再設計することに同意する – u449355

1

IntelliJは、Javaコードを理解するための優れた機能を備えており、優れたリファクタリングを提供します。そして今、free and open source versionがあります。

+0

30-トライアルバージョンはかなりの作業を可能にするはずです。 –

+0

ソ連のロシアでは、IntelliJがあなたにリファクタリングします:-) –

4

編集とリファクタリングのためのEclipse - the brilliant Java IDEをお勧めします。それはリファクタリングのためのいくつかのツールを持っています。

http://www.eclipse.org/articles/article.php?file=Article-Unleashing-the-Power-of-Refactoring/index.html:あなたはまだ納得していないならエクリプスとリファクタリングの電源にbrililant記事がで、あります

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

希望、幸運を助けます!

0

私は同じ変数セットを使用するメソッドを一緒に試してグループ化する独自のリファクタリングツールを作成しました。これは初期のプロトタイプである。これは、Windows Eclipseプラグインとしてのみ使用できます。

Variable Usage Eclipse Plugin

関連する問題