private methodを使わない方針
- private methodは不要(消極的理由)
- private methodは悪い(積極的理由)
- 「行数が***行を超えたらメソッドの分割を考える」の解決策にはならない。元の***行のソースが細切れになっただけなら余計に見にくい。
- private methodのパラメータとすべきか、クラス変数とすべきか
- パラメータとすると、やたら長くなったり
- この時点で既に構造化できていないことに気付くべき
- クラス変数とすると、更新タイミングが読めなくなったり
- パラメータとすると、やたら長くなったり
- テストしやすさ
- 継承できず、サブクラスで処理の一部変更というような改造ができない
機能をクラスに集約する、後から集約できない変更があれば、変更分だけをサブクラスに記述し、呼び出し元の呼び先をちょっと変える。この場合、private methodがあれば記述量が大幅にふえる。クラス変数もprotectedにすべきなのか。C#などではクラス変数はサブクラスから見れるらしいとか。