【PhpStorm】PhpStormで重複コードを抽出する

 とりあえずざっと書いて後からリファクタするというコーディング方法があります。このコーディング方法においてリファクタの際には見通しをよくするほか、コピペした部分などの重複したコードをまとめる作業もよくやります。PhpStormにはこの重複コードをまとめる作業の精度を上げる機能があります。
 次の画像にある重複の分析を選ぶとPhpStormはコードを解析しコードの重複を見つけ出します。

 見つけられた重複は次の様にコードが表示されます。この画面から直すべき重複が分かります。コストは複雑さと量によって計算されています。余り軽いとまとめる程でもないことがしばしば現れます。閾値は個々の調整に依りそうです。
重複の分析 – 公式ヘルプ | PhpStorm

 対象の重複範囲を選択し図の様にリファクタリング→メソッドの抽出を選びます。すると関数のオプションを決める画面が現れます。
メソッドの抽出 – 公式ヘルプ | PhpStorm


 この関数オプションを決定した後にリファクタリングを実行すると、次の画像らの様に関数にまとめられます。


 このまとめられた関数の配置をそのままなり、traitなり、他クラスなり、親クラスにして他の重複部分から呼び出すことによって重複コードのリファクタリングが成ります。重複が同ファイル内にあるならばPhpStormがよしなにまとめてくれます。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG