TOP

このエントリーをはてなブックマークに追加

リファクタリング技法

ここではCode Smellを解消するために参考となるリファクタリング技法や、その他参考になりそうな概念を紹介していこうと思います。

リファクタリングに関してはこの辺りの書籍が参考になると思います。


リファクタリング第2版
refactoring
レガシーコード改善ガイド
legacy_code

Dealing with Generalisation

Dealing with Generalisation

Extract Subclass

Extract Subclass

特定の場合にのみ使用される機能がクラスにある場合、サブクラスを作成してその機能を使用します。

注意すべき点として、サブクラスを作ることが必ずしもコードの複雑性を回避する手段になるとは限りません。継承は使いどころを間違えると大変なことになるのでコンポジションを使うべきところと明確に分けて考えましょう。

※継承とコンポジションの違いについてはこの辺が参考になると思います。

関連するCode Smell