クラス化のコツ
最終更新日27 Mar 2017 01:37
私の経験上、コードを書く前にあれやこれや考えていきなり細かくクラス化するのは回り道だったことが多いです。
最初にこれをクラス化しよう、としてやっても、あとからやっぱこういうクラスの分け方をしないほうがよかった
ってことがよくありました。(私が経験不足なだけかもしれないけど)
最初はクラス化とか考えずにベタベタと書いていって、
ここをクラス化したい!となった時にクラス化する、という手順をしていったほうが無駄が少ない気がします。
- Step1.大きな関数を分割する
- Step2.動詞が同じ関数に注目! その動詞がクラスになりうる
クラス化するパターン
- 重複部分
- 組込型メンバ変数をクラス化する
- 多すぎる関数の引数
- コンテナを操作する専用のクラス
重複部分をクラス化する
まず思いつくのが、
共通部分を親クラスにすることですが、
それよりも共通部分をインスタンスとして持つ、というのをまずやってみた方がよいです。
共通部分を親クラスにすると、後々メンテナンスがややこしくなるからです。
Bibliography