private methodを使わない方針

  • private methodは不要(消極的理由)
  • private methodは悪い(積極的理由)
  • 「行数が***行を超えたらメソッドの分割を考える」の解決策にはならない。元の***行のソースが細切れになっただけなら余計に見にくい。
  • private methodのパラメータとすべきか、クラス変数とすべきか
    • パラメータとすると、やたら長くなったり
      • この時点で既に構造化できていないことに気付くべき
    • クラス変数とすると、更新タイミングが読めなくなったり
  • テストしやすさ
  • 継承できず、サブクラスで処理の一部変更というような改造ができない

機能をクラスに集約する、後から集約できない変更があれば、変更分だけをサブクラスに記述し、呼び出し元の呼び先をちょっと変える。この場合、private methodがあれば記述量が大幅にふえる。クラス変数もprotectedにすべきなのか。C#などではクラス変数はサブクラスから見れるらしいとか。