O’REILLY Learning「Modern Software Engineering: Doing What Works to Build Better Software Faster」10 Cohesion
https://learning.oreilly.com/library/view/modern-software-engineering/9780137314942/
10 Cohesion
凝集力(コンピュータサイエンス)とは、「モジュール内の要素が互いに属する度合い」と定義
Kent Beck
関係のないものをより遠くに引き離し、関係のあるものをより近くに置く。
コードの第一の目標は、人間にアイデアを伝えること
テスト容易性は、モジュール化、懸念事項の分離、および私たちが高品質なコードで評価するその他の属性を強く後押しする。
Coupling: Given two lines of code, A and B, they are coupled when B must change behavior only because A changed.
Cohesion: They are cohesive when a change to A allows B to change so that both add new value.
この度合いがどれだけ大切か
あえて近づけるか、遠ざけるか