CodeZine(コードジン)

特集ページ一覧

Eclipse 3.4のコード生成&リファクタリング機能 ~Eclipse 3.4入門~

第8回

  • LINEで送る
  • このエントリーをはてなブックマークに追加

目次

フィールド名の変更

 次に、単体クラスでのリファクタリング機能としてはクラス名の変更よりも複雑な、フィールド名の変更を試してみましょう。今回はGetterおよびSetter名に加えてコメントも自動変更させます。

 パッケージ・エクスプローラーで、フィールド名「ename」を選択して、クラス名の変更の場合と同様に、メニューの[リファクタリング(T)]-[名前変更(N)]を実行します。

図21:[リファクタリング]-[名前変更]を実行
図21:[リファクタリング]-[名前変更]を実行

 「フィールド名の変更」ウィンドウが表示されます。[新しい名前(M)]を入力し(今回は「name」とします)、[参照の更新(R)]だけではなく、[コメントおよびストリング内のテキスト出現箇所の更新(T)][getter 'getEname'を'getName'に名前変更(G)]と[setter 'setEname'を'setName'に名前変更(S)]のチェックもオンにしてから、[プレビュー(P)]をクリックします。

図22:[新しい名前]を入力し、[コメントおよびストリング内のテキスト出現箇所の更新][getter]と[setter]をオンにして[プレビュー]をクリック
図22:[新しい名前]を入力し[コメントおよびストリング内のテキスト出現箇所の更新][getter]と[setter]をオンにして[プレビュー]をクリック

 「実行される変更」とそのプレビューの画面に切り替わります。9カ所が変更されることを確認して[OK]をクリックします。

図23:確認して[OK]をクリック
図23:確認して[OK]をクリック

 エディタービューに戻ります。指定したとおり、フィールド名、GetterおよびSetter名、コメントが書き換わっていることを確認します。

※注

 ローカル変数は変更されませんので、コンストラクターおよびSetterの引数の「ename」はそのままになります。

図24:フィールド名、GetterおよびSetter名、コメントが書き換わっている
図24:フィールド名、GetterおよびSetter名、コメントが書き換わっている

マジックナンバーの定数への置き換え

 もう一つの単体クラスでのリファクタリング機能として、マジックナンバーの定数への置き換え機能を説明します。「マジックナンバー」とはプログラム中に直接記述された値のことで、その意味を明示しておかないと保守性が下がることがあります。特に同じ値が複数回用いられる場合、定数を設けて名前を与えることで保守性をキープします。この変更作業を試してみましょう。

 エディタービューに表示されている「HelloStaff.java」のソースプログラムの末尾に、下記のメソッド「int kyufukin()」を追記します。これは、年齢(age)に応じて定額給付金の額を返すもので、いくつかのマジックナンバーを持つメソッドになっています。

public int kyufukin() { //マジックナンバーのあるメソッド
    if(age <= 18) return 20000;
    else if(age < 65) return 12000;
    else return 20000;
}

 今回は2回登場しているマジックナンバー「20000」を定数にしてみましょう。エディタービュー上で「20000」を選択状態にします。

図25:マジックナンバーのあるメソッドを定義し「20000」を選択状態にする
図25:マジックナンバーのあるメソッドを定義し「20000」を選択状態にする

 準備ができたので、パッケージ・エクスプローラーで、メソッド[kyufukin()]が選択されているのを確認して、メニューの[リファクタリング(T)]-[定数の抽出(A)]を実行します。

図26:[リファクタリング(T)]-[定数の抽出(A)]を実行
図26:[リファクタリング(T)]-[定数の抽出(A)]を実行

 「定数の抽出」ウィンドウが表示されます。[定数名(C)]に仮に設定されている「_20000」を書き換え(今回は「TAGAKU」とします)、[選択された式のすべての出現箇所を定数への参照で置換(R)]のチェックをオンにします。シグニチャー・プレビューを確認してから[プレビュー(W)]をクリックします。

図27:[定数名]を書き換え、[選択された式のすべての出現箇所を定数への参照で置換]のチェックをオンにして[プレビュー]をクリック
図27:[定数名]を書き換え[選択された式のすべての出現箇所を定数への参照で置換]のチェックをオンにして[プレビュー]をクリック

 「実行される変更」とそのプレビューの画面に切り替わります。「実行される変更」のコンストラクター[HelloStaff(String,int)]をクリックすると、コンストラクターのすぐ上にシグニチャー・プレビューの通りの定数宣言が追加されることがわかります。

※注

 この画面で対応するチェックをオフにすることで、追加・置換する対象を絞ることもできます。

図28:コンストラクターのすぐ上に定数宣言が追加される
図28:コンストラクターのすぐ上に定数宣言が追加される
※注

 この画面の「実行される変更」の部分はOSなどの違いによって若干異なることがありますが、動作への影響はありません。

 次に「実行される変更」のメソッド[kyufukin()]をクリックすると、2つの「20000」が「TAGAKU」に置換されることがわかります。確認して[OK]をクリックします。

図29:確認して[OK]をクリック
図29:確認して[OK]をクリック

 エディタービューに戻ります。指定したとおり、マジックナンバー「20000」が定数「TAGAKU」に変更されていることを確認します。

図30:マジックナンバー「20000」が定数化されている
図30:マジックナンバー「20000」が定数化されている

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Eclipse 3.4からはじめるIDE入門

もっと読む

著者プロフィール

  • 平野正喜@ランドッグ・オーグ(ヒラノマサキ)

    フリーのIT系執筆者&講使(※)の「ランドッグのマウ」こと平野正喜(HIRANO Masaki)です。 【略歴】 1962年札幌市生まれ。今で言うIT企業のシステムエンジニア、プロジェクトリーダー、システムコンサルタント、採用担当などを経て独立し、2002年11月にランドッグ・オーグ平野正喜事...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5