cohesion
プログレッシブ和英中辞典
◇凝集する cohere
旺文社 物理事典
定義① 原子,分子またはイオン間にはたらく引力によって集合する現象
その間にはたらく力を凝集エネルギーという.
定義② コロイド粒子が集合して大きくなること
電解質などの凝集剤をたらすと,この現象が起こる.
https://gyazo.com/480ee2632ac17f695645468521311a91
線のつながりかたは同じだけど、明らかに右の方がわかりやすい
大体の場合、凝集が良ければ結合も減っていく
ただし、2つの現象は異なる意味を持つと捉えても良さそう
complexなものをsimpleなものの集合として作り上げる。これは個別のsimpleなものの内部の凝集度が上がる
集合がcomplicatedな状態になるので、それの接続をグルーピングや分割統治で、認知負荷を軽減する。これは結合度を下げると捉えられる
凝集度といった単語がある
凝集度が高いとか低いとか
普通に考えると、凝集度という単語から想像される概念は、密度が高い、低いと同様なものを想像するはずだ
なので、プログラミングにおける凝集度というのは、「良い凝集」「悪い凝集」と言うべき
あるいは、良い、悪い、という一軸で表現するのも避けても良い
単に「論理的凝集」とか、その凝集の形態、理由に形容をすべき
凝集というのは、何らかの要素が集まって塊を形成していることを指す
化学の用語として先にあったと見ていいだろうか
なので、以下のような基準で分析ができる
要素のレベルと全体のレベル
関数なのか変数なのか
クラス、メンバ、メソッド
モジュール
…
集まりの理由
これは既存の、凝集度のレベルから考え始めればいい
当時はクラスとかあったのかな?ないなら、それを新たに前提として考え直す