【Rider】CognitiveComplexityを導入してコードの複雑さの定量的な計測をしてみる
はじめに
本記事で紹介および検証を行なっているツール、ライブラリのバージョンは次の通りです。
- Rider 2024.1
- CognitiveComplexity 1.0.1
バージョンによっては挙動に差異がある場合もありますので、ご了承ください。
Cognitive Complexity (認知的複雑度)
Cognitive Complexity (認知的複雑度)はコードの複雑度を推し量る指標のひとつです。こちらのサイトで詳しく説明してくれています。
コードの複雑さを数値として捉えることで、コードを整理する際のいい指標になります。 Riderでコードを書く際にこのCognitive Complexityを分かりやすく確認するプラグインが存在します。
プラグインの導入と利用
導入自体はMarket Placeにあるプラグインを導入するだけです。
メソッドの上部などにCognitiveComplexityが表示され、特定の閾値を超えるとコードが複雑だよ〜と表示されます。 表示設定自体はCode Visionで設定できます。
クリックすると内訳を表示します。 if分岐やそのネストなど、コードの複雑さに寄与する部分に+1などの複雑度の定量的な加算箇所が提示されます。
閾値自体も設定できるので、プロジェクトの指標や運用に合わせて調整するといいでしょう。