技術向上

プログラミングの学び、気になるテクノロジーやビジネストレンドを発信

case: 長すぎるメソッド【リファクタリング】

処理記述が長いメソッドは、可読性を下げ、適切に部品が共通化されていないことから、
プログラム全体でコードの重複も生まれやすくなります。

「メソッドの抽出」は一番単純で効果のあるアプローチです。

パラメータや一時変数もメソッドを長くする原因です。 「問い合わせによる一時変数の置き換え」や「パラメータオブジェクトの導入」、「オブジェクトそのものの受け渡し」を検討します。

さらには「メソッドオブジェクトによるメソッドの置き換え」によって、メソッドの抽出を一時変数が阻害する問題を解決できます。

また、条件記述をシンプルにすることも有効です。「条件記述の分解」や「ガード節による入れ子条件記述の置き換え」を試みます。

メソッドの抽出対象を見つけ出すには、コード内のコメントを探すのが近道です。
コメントは、読み手にとって分かりにくい部分を解説している部分ですので、
往々にして処理内容が複雑化しています。分解することで、スリムになるとともに、コメントがいらなくなるかもしれません。


メソッドの抽出【リファクタリング】 - 技術向上

問い合わせによる一時変数の置き換え【リファクタリング】 - 技術向上

パラメータオブジェクトの導入【リファクタリング】 - 技術向上

オブジェクトそのもの受け渡し【リファクタリング】 - 技術向上

メソッドオブジェクトによるメソッドの置き換え【リファクタリング】 - 技術向上

条件記述の分解【リファクタリング】 - 技術向上

ガード節による入れ子条件記述の置き換え【リファクタリング】 - 技術向上