generated at
method内では、必ずinstance変数を使う

凝集度の高いclassを作るための施策

あるmethodを定義する際に、引数のみで計算が完了しているとおかしい
雑に書くとこういうの
ts
class Hoge { add(n1, n2) { return n1 + n2 } }
インスタンス変数を使わずに、引数だけで計算が完結している
この場合、このmethodは、このclass内に定義すべきものなのか?を疑うべき
このclassにそのmethodを定義しているということは、
このclassが保持するデータと
ロジックであるmethodが
強く関連しているはず
その引数をデータとして持つclassに、そのmethodを移動すべき



この話は、そのclassがDomain Objectであることが前提にある
もっと具体的に言うと、classが小さいことが前提にある



そうなのか?mrsekut
関数を小さく作ることを実践していれば、こういうmethodがあってもおかしくない気もする
instance変数を使用すると、classとmethodが密結合になって嫌な気もするけど、
これはOOPの基本思想だからどうしようもないかmrsekut
密結合にしてなんぼ、って感じなんだろう
まだ完全に納得できていないが、OOP的にはそうなのだろうmrsekut



参考