Refactoring

リファクタリングの主な目的は、コードの重複をとりのぞくことにあります。この点だけを意識して作業するだけでも効果があります。この作業をするにあたってのチェックポイントとしては、次のようなものが考えられます。

  • 長すぎるメソッド … 何をしているかわからない
  • 怠け者クラス … クラスに分けておく理由がない
  • 不適切な関係 … 見えすぎじゃないだろうか
  • switch文 … ポリモフィズムを使うべきかも

くわしくは、Refactorings in Alphabetical Orderを参照しよう。

ここでは、すぐにはじめられるリファクタリングを紹介する。

1.メソッドの抽出
 コードの重複があったときには、メソッドとして抽出することをまずは検討してみよう。また、メソッドに記述した処理が長くなった場合は、複数の機能が含まれていないかを疑って、短くする方法を考えましょう。

2.引数の追加
 メソッドがより多くの情報を必要とする場合は、引数の追加を検討します。このとき、メソッド名が機能を表しているかを再度チェックしましょう。引数の追加があった場合は、当初想定していた機能とはちがっている場合が多いはずです。

3.メソッドの移動
 クラス間のやりとりが多くなっている場合には、メソッドの移動を検討します。ある処理をしたいときに、ひとつのクラスAのメソッドをたくさん呼び出しているとしたら、それはクラスAのメソッドとして用意すべきものです。たくさんのクラスAのメソッドを呼び出していた方はクラスAへその処理を委譲するようにして、メソッド内の処理を移動してしまいましょう。

同じカテゴリの記事: Java