凝集度と結合度について 凝集度と結合度という概念は、コンスタンチンとヨードンが、その共著である「構造化設計」において提案した関数の尺度です。言い換えれば、これらは構造化設計の中心的テーマで、構造図を書くのも、設計時にこの尺度で判断して品質を織り込むためなのです。以下に、これらの尺度について簡単に説明します。 またこれらの尺度は、オブジェクト指向の時代に入って、残念ながらあまり省みられなくなりましたが、メソッド内で関数が階層構造になる場合の関数の尺度には、そのまま有効ですし、表現はちがっても、クラスやオブジェクトの関係や、適切な大きさを判断する際にも有効です。 保守作業に伴って品質の低下を招く危険は、構造化の言語であろうと、オブジェクト指向の言語であろうと同じです。 凝集度(コヒージョン) これは、プログラムのひとつのコンポーネント(以下、関数と呼ぶ)の中に含まれる機能の純粋度を表す尺度です