コナーセンスとは

コナーセンスはソフトウェアの品質メトリクスであり、結合度の分類方法です
このサイトではさまざまな種類のコナーセンスをコードの改善に役立つ実例付きで紹介しています。

変更の可能性

あらゆるコードに変更の可能性があります。現実世界が変化するのに合わせて、私たちのコードも必ず変更されます。コナーセンスは、長期的な観点から柔軟性のあるコードを書くにはどうすればよいかについて洞察を提供してくれます。コードベースの柔軟性を維持することは開発速度を長期的に維持するために不可欠です。

柔軟なメトリクス

コナーセンスはメトリクスであり、他のメトリクスと同様に不完全な測定値です。しかし、コナーセンスはより包括的なアプローチを取っています。コードベースのコナーセンスは以下の3つの独立した軸で判断する必要があります。

  1. 強度。コナーセンスが強いと発見が難しい、またはリファクタリングが難しくなります。
  2. 程度。1つのエンティティが他の1000ものエンティティとコナーセントである状態は、数個のエンティティとコナーセントである状態よりも問題が大きいと言えます。
  3. 局所性。コナーセントな要素がコードベース内で互いに近い場所にあるのは離れた場所にあるよりも良いです。

強度、程度、局所性という3つの尺度は、プログラマーがどんなときにある種の結合を許容し、どんなときにコードをリファクタリングすべきかを知識に基づいて決めるために必要な道具立てを与えてくれます。

結合度の語彙

コナーセンスの最も重要な利点は開発者がさまざまな結合度の種類について語る語彙を得られるということです。コナーセンスは多くの開発者が試行錯誤によって経験から学んできたことを明文化したものです。そうした経験をより簡単に共有できるようにするために、コナーセンスが結合度の種類を表す共通の語彙となります。