SHOEISHA iD

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

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

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

Eclipse 3.4からはじめるIDE入門

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

第9回


メンバーのソート機能

 メンバーをソートする機能は、リファクタリングの一種ですが、Eclipseではコード生成機能の中にあります。メンバーを多数もつHelloStaffクラスで試してみましょう。

 パッケージ・エクスプローラーで、クラス名HelloStaffを選択してから、メニューの[ソース(S)]‐[メンバーのソート(O)]を実行します。

図01:[ソース(S)]‐[メンバーのソート(O)]を実行
図01:[ソース(S)]‐[メンバーのソート(O)]を実行

 「メンバーのソート」ウィンドウが表示されます。まず、ソートのルールを設定・確認します。[メンバーのソート順]のリンクをクリックします。

図02:「メンバーのソート順」のリンクをクリック
図02:「メンバーのソート順」のリンクをクリック

 「設定」ウィンドウが表示され「メンバー・ソート順序」の設定画面になります。メンバーを表示する順序に加えて、同じカテゴリーのメンバーを可視性でソートすることができます。今回は[同じカテゴリーのメンバーを可視性でソート]をチェックしてオンにして、可視性の高い順publicprotecteddefaultprivate)にソートすることにしましょう。

図03:[同じカテゴリーのメンバーを可視性でソート]をチェック
図03:[同じカテゴリーのメンバーを可視性でソート]をチェック

 可視性キーワードの選択が可能になります。[private]を選択して[下へ(W)]を2回クリックし最下位に移動します。

図04:[private]を選択して[下へ(W)]をクリック
図04:[private]を選択して[下へ(W)]をクリック
図05:[下へ(W)]をもう1回クリック
図05:[下へ(W)]をもう1回クリック

 可視性の高い順publicprotecteddefaultprivate)になっていることを確認して[OK]をクリックします。

図06:[OK]をクリック
図06:[OK]をクリック

 「メンバーのソート」ウィンドウに戻ります。規定値では[フィールド、列挙型定数、およびイニシャライザーをソートしない(D)]がONになっています。これは、フィールド、列挙型定数、およびイニシャライザーもソートの対象にすると順序が変わることによる動作の違いが発生する可能性があるからです。しかし、今回のサンプルでは問題がありませんので、[すべてのメンバーをソート(S)]に変更してから[OK]をクリックします。

図07:[すべてのメンバーをソート(S)]に変更してから[OK]をクリック
図07:[すべてのメンバーをソート(S)]に変更してから[OK]をクリック

 ソートを実行する前にソースが解析され、問題点が検出されるとその旨が表示されます。今回のサンプルの場合、toString()メソッドに自動的に作成されたコメントとマーカーがあるため、ソートによって外れてしまう可能性があることが検出されました。今回は外れても構いませんので[継続(T)]をクリックします。

図08:[継続(T)]をクリック
図08:[継続(T)]をクリック

 ソートが完了したので、ソースを確認します。staticフィールドのため最上位に置かれる「TAGAKU」の次に、クラスフィールドであるagenameがあります。ageの可視性はprotectedであり、privateであるnameよりも前におかれます。このソースにはイニシャライザーはありませんので、次はコンストラクターのHelloStaff(String,int)が入ります。そして、その下にはメソッドが並びます。どのメソッドも可視性がpublicですので、単純に文字コード順にソートされています。

図09:ソート完了後のソース
図09:ソート完了後のソース

 この機能は特にグループ開発や大きなプログラムソースの保守性向上に有効です。設計者や作成者の好みではなく、統一したルールでメンバーを扱うことができるからです。しかし、名称の文字コード順(実質的にアルファベット順+漢字コード順)にソートするわけですから、メソッド名やメンバ名などの命名ルールを規定し、しっかりと守っていないと逆効果になるため、注意が必要です。

次のページ
ストリングを外部化する機能

修正履歴

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

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」など、さまざまなカンファレンスを企画・運営しています。

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

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

メールバックナンバー