Eclipseのリファクタリングの方法です。
目次
サンプル | メソッドの抽出 |
リテラルを定数化する | |
変数名を変更する(パッケージ名,クラス名,メソッド名の変更も可) |
メソッドの抽出
メソッドの抽出という機能を使用すると、長くなってしまったコードをメソッドにまとめることができます。
1.サンプルとして以下の6,7行目をメソッドにします。
package test1;
public class Test1 {
public static void main(String[] args) {
String a = "赤";
System.out.println("色は" + a); //色は赤
}
}
2.メソッドにする行を選択します。
3.右クリックして、「リファクタリング」→「メソッドの抽出」をクリックします。
4.メソッド名を入力します。その他アクセス修飾子の選択や各種設定ができます。
プレビューボタンを押すと変更前と変更後のコードを確認できます。
5.メソッドの抽出が完了したコードです。
package test1;
public class Test1 {
public static void main(String[] args) {
test100();
}
private static void test100() {
String a = "赤";
System.out.println("色は" + a); //色は赤
}
}
8行目は、private staticのメソッドになっています。
リテラルを定数化する
1.サンプルとして以下の7行目のリテラルになっている"色は"を定数化します。
package test1;
public class Test1 {
public static void main(String[] args) {
String a = "赤";
System.out.println("色は" + a); //色は赤
}
}
2.定数化したい箇所で右クリックし、「クイック アクションとリファクタリング」をクリックします。プレビューボタンを押すと変更前と変更後のコードを確認できます。
3.定数名を入力します。アクセス修飾子やその他設定ができます。
プレビューボタンを押すと変更前と変更後のコードを確認できます。
4.以下は、定数化が完了したコードです。
package test1;
public class Test1 {
private static final String V = "色は";
public static void main(String[] args) {
String a = "赤";
System.out.println(V + a); //色は赤
}
}
4行目は、private static finalで定数化されています。
変数名を変更する(パッケージ名,クラス名,メソッド名の変更も可)
プロジェクトでの上記項目の名称変更は必ずリファクタリングで変更します。他ファイルにある箇所も変更してくれます。
手動で名称変更するともれが発生しバグの元になるので必須のテクニックです。
1.サンプルとして以下の3行目の変数aをnumに変更します。
public class Test1 {
public static void main(String[] args) {
int a = 1;
if (a == 0) {
System.out.println("0");
} else if (a == 1) {
System.out.println("1"); // 1が表示される
} else {
System.out.println("other");
}
}
}
2.変数名の先頭にカーソルを当てて右クリックからリファクタリング>名前変更をクリックします。
3.図の吹き出しが出るので変数名を変更します。
4.エンターキーを押すと対象の箇所の変数がすべて変更されています。
関連の記事