核心概念
Java クラスの"-Er"および"-Utils"接尾辞は、平均的に2.5倍以上高い複雑性を示す。
要約
本研究では、オブジェクト指向プログラミングにおいて、"-Er/-Or"および"-Utils"の接尾辞を持つクラスは「コードの臭い」であるという信念を検証するため、13,861個のJavaクラスを分析した。
まず、クラスを3つのグループ(1. "-Utils"接尾辞、2. "-Er/-Or"接尾辞、3. その他)に分類した。次に、各グループのクラスについて、結合度(LCOM5、NHD)と複雑性(CC、CoCo)の指標を算出した。
その結果、"-Er/-Or"および"-Utils"接尾辞を持つクラスは、他のクラスに比べて平均的に2.5倍以上高い複雑性を示すことが分かった。一方、結合度については明確な差は見られなかった。
このことから、"-Er/-Or"および"-Utils"接尾辞を持つクラスは、設計上の問題を示唆していると考えられる。具体的には、これらのクラスは単一の責任を持たず、多くの機能を集約する傾向にあり、可読性と保守性を低下させる可能性がある。
統計
"-Er/-Or"クラスの平均Cyclomatic Complexity: 14.26
"-Utils"クラスの平均Cyclomatic Complexity: 15.444
その他クラスの平均Cyclomatic Complexity: 5.983
"-Er/-Or"クラスの平均Cognitive Complexity: 20.106
"-Utils"クラスの平均Cognitive Complexity: 20.931
その他クラスの平均Cognitive Complexity: 7.731