2011-09-16 19 views
1

(私はEclipseのドロップダウンメニューからボタンを見てきましたが)私は前にリファクタリングを使ったことがない、と私はそれが何をするかのWikipediaのページを読んでいる間、それはまだ具体的な視覚的な例を私に提供しません。それがどのように行われたのか(もちろん、自動的にコードを整理する方法があることはわかっています)。リファクタリングの具体的な視覚的な例は何ですか?

+0

今日のようにテキスト以外のものでコードを視覚化するのは難しいかもしれないが、あなたは、コードの悪い部分がに段階的にリファクタリングする方法を確認したい場合良いコードがあれば、そこにはたくさんのビデオがあることがわかります - 見つかったものはここにあります(http://www.youtube.com/watch?v=n45-L8bp2cU)。 – Anurag

答えて

4

リファクタリングは自動ではありません;ほとんどの場合、手作業で行われますが、簡単な編集を自動化するツールがあります。

どのように見えますか? JavaScriptの例:

var myArray = new Array(); 
myArray[0] = "apples"; 
myArray[1] = "bananas"; 
myArray[2] = "carrots"; 

は、Martin Fowler氏の例を見て、より複雑なもののため

var fruits = [ "apples", "bananas", "carrots" ]; 

次のようになります。http://codecourse.sourceforge.net/materials/Refactoring-A-First-Example.rtf

2

は、あなたが本当に絵を必要ですか?最も簡単なリファクタリングは

リファクタリングが自動的にコードをより組織的にしない「(スコープの)変数の名前を変更」

です。 から入力を要求して、コードを再構成して構造を改善するためのアクションを決定する必要があります。 「リファクタリング」はあなたの希望を自動的に実行します(たとえば、上記の名前の正しい名前を変更します)。など、冗長なコードを削除するサブルーチンを作るために、大きなブロックのうち、文のブロックを持ち上げるなど、

その他の標準的なリファクタリングほとんどこれらはあなたが手で何をするのかで何をすべきか。すべてのリファクタリングツールは、一般的な再編成アクティビティを取り、起動して自動化できるアクションにパッケージ化します。

1

あなたは日食IDEからリファクタリングを探しているなら、それは物事を以下のん:

1)定数など、ローカル変数に選択した変数を抽出する(方法を抽出) 2)新しいメソッドにコードの選択した部分を抽出しますたとえば :

myObject.getName() 

はあなたの方法の複数の場所で使用され、その後

3に優れている)また、スーパークラス(プルアップ)、またはサブクラスにコードを移動することができます(ドゥを押してくださいWN)、本質的にあなたがリファクタリングが、IDEがあなたのためにすることを行い日食を行うことを明示的にコード・ペーストコピーする必要がないことを意味

を。

1

あなたが興味を持っているとリファクタリングの十分な理解を取得したい場合は、私はあなたがリファクタリングのコピーを選択することをお勧め - Martin Fowler氏することで、既存のコードのデザインを向上させます。

もリファクタリングに関する視覚的な図については、作者のWebサイトを参照してください。

  1. http://refactoring.com/
  2. Catalog
関連する問題