凝集度
cohesion
高い方が良い
似た目的の処理がまとめられている
LCOMで数値化できる
『Structured Design』 による凝集度の分類
参考
/mrsekut-book-4873119820/065 (3.2 モジュール性の計測)
凝集度 - Wikipedia
/kawasima/Cohesion
#WIP
凝集度が低い状態とは
数百行に渡る様々な目的を持った処理の中で、改修対称の機能に該当する行を見つけるのが困難な状態
関係ない責務の処理が一箇所に書かれている
https://gyazo.com/e5e0c3e7d002cdaa14e76135fef3f85f https://devopedia.org/cohesion-vs-coupling
class内には、instance変数とmethodがあるが、
各methodが、操作するinstance変数が多いほど凝集度が高いと言える ref 『Clean Code』.icon p.194
極論を言えば、全methodが、全instance変数を操作していると、「このclassの凝集度」はかなり高い
雑だが、たしかにmrsekut.icon
再利用・リリース等価の原則 (REP)
閉鎖性共通の原則 (CCP)
全再利用の原則 (CRP)
『Coupling and cohesion: failed concepts.』
Edmund Kirwan
凝集度と結合度に対する批判
https://www.edmundkirwan.com/general/c-and-c.html
参考
新人プログラマに知っておいてもらいたい人類がオブジェクト指向を手に入れるまでの軌跡 - Qiita
https://twitter.com/kawasima/status/1382682335301099522
https://qiita.com/ttiger55/items/50a8b0efb7ca4a487204