SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Eclipse 3.4からはじめるIDE入門

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

第9回


ローカル変数をフィールドに変換

 「ローカル変数をフィールドに変換」機能は、指定したローカル変数をフィールドに変換するだけではなく、初期化処理を行う位置の指定や静的変数化、定数化も可能なリファクタリング機能です。なお、定数化する場合は変数名を大文字に変更し、この変数にアクセスしている箇所も全て編集します。

 まず、この機能を試すためのローカル変数elderHelloEmpクラスのkyufukinに書き加え、これを用いるように書き換えます。

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

 では、この機能を試してみましょう。今回はこのローカル変数elderを静的な定数に変更します。まず、ソースエディタでローカル変数elderを選択状態にします。

図32:ローカル変数elderを選択状態にする
図32:ローカル変数elderを選択状態にする

 メニューの[リファクタリング(T)]‐[ローカル変数をフィールドに変換(B)]を実行します。

図33:[リファクタリング]‐[ローカル変数をフィールドに変換]を実行
図33:[リファクタリング]‐[ローカル変数をフィールドに変換]を実行

 「ローカル変数をフィールドに変換」ウィンドウが表示されます。初期化を[フィールド宣言(R)]に変更すると、[フィールドを'final'として宣言]が選択可能なるので、定数化するためにチェックします。併せて[フィールドを'static'として宣言]を選択して静的定数化します。各項目にチェックを入れ終わったら[プレビュー(W)]をクリックします。なお、ここでフィールド名やアクセス修飾子を変更することもできます。

図34:[フィールド宣言]を選択し、[フィールドを'final'として宣言][フィールドを'static'として宣言]をチェックして、[プレビュー]をクリック
図34:[フィールド宣言]を選択し[フィールドを'final'として宣言][フィールドを'static'として宣言]をチェックして[プレビュー]をクリック

 すると、プレビュー画面に切り替わります。一般的なコーディング規定に乗っ取って大文字に書き換えられた静的定数ELDERが追加されます。そして、kyufukinメソッドから、変数elderの定義が消え、定数を参照するように書き換えられることが分かります。確認できたら[OK]をクリックして変換を実行します。

図35:変更を確認し[OK]をクリック
図35:変更を確認し[OK]をクリック

 エディタービューに戻るので、プレビューの通りに変更されていることを確認します。

 今回は、ローカル変数を定数フィールドに変換するリファクタリングを行いましたが、変数のままにする場合は、実行後に「GetterおよびSetterの生成」(第8回で説明)と、「フィールドのカプセル化」(前述)を行うと良いでしょう。

まとめ

 前回と今回の説明でコード生成機能とリファクタリング機能の一部を理解できたと思います。Eclipseには他にもたくさんのコード生成機能、リファクタリング機能が実装されていますので、一度試してコツをつかんでおくことをお勧めします。変更点を一つずつタイプしたり、エディタの文字列変換機能などで闇雲に一括変換したりする前に「あ、これはリファクタリングでできる」と思いつくことができれば、作業の効率や正確性が格段に向上するはずです。

 さて、9回に渡ってお届けしてきました「Eclipse 3.4入門」は、これで一区切りとなります。Eclipseを初めて使う方をターゲットに、Eclipseの多彩な機能のエッセンスを紹介してきたつもりです。読者の皆さんのご興味や、ビジネス、学習などに少しでも貢献できていましたら幸いです。

 Eclipseはバージョンアップを続けており、この連載で用いたEclipse 3.4(コードネーム:Ganymede)に続いて、既にバージョン 3.5(コードネーム:Galileo)が登場しています。次の機会には新バージョンを用いたアプリケーション構築例を紹介できたらと思っています。

修正履歴

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
Eclipse 3.4からはじめるIDE入門連載記事一覧

もっと読む

この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/4088 2010/05/14 15:34

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー