🧩コード複雑度測定

分析したいコードを貼り付けると、分岐やループを検出し、複雑度スコアと保守性評価を算出します。

複雑度スコア (CC)

1
コードを入力してください。
検出項目個数
条件分岐 (if, case, &&, ||)0
ループ (for, while, map)0
保守性グレード-

良いコードは「シンプルさ」から生まれる

ソフトウェア工学において「複雑さ」はバグの温床です。トーマス・マッケイブによって提唱された **循環的複雑度(Cyclomatic Complexity)** は、プログラムの論理的な流れがどれほど入り組んでいるかを定量的に示す指標です。1つの関数の中にあまりに多くの `if`, `else`, `switch` 文が重なっていたり、複雑なループが絡み合っていたりすると、そのコードは人間が理解しにくいだけでなく、修正時に予期せぬ副作用(デグレード)を引き起こす可能性が非常に高くなります。

本ツールは、入力されたコードの中から実行経路を分ける主要なキーワードを抽出し、複雑度を算出します。スコアが1〜10であれば非常によく構造化されたメンテナンスしやすいコードです。11〜20になると複雑化が始まっているため注意が必要です。もし20を超える場合は、その関数が「多くの責任を持ちすぎている」サインかもしれません。この場合、大きな関数を小さな単位に切り出す「関数の抽出」リファクタリングが推奨されます。

低レベルの複雑度を維持することは、単にコードを美しく見せるための作業ではありません。複雑度が低いほどテストコードを書きやすくなり、新しいメンバーがプロジェクトに参加した際のキャッチアップ時間を大幅に短縮できます。今すぐ、あなたが書いたコアロジックをコピー&ペーストしてみてください。数値として現れる複雑度スコアが、よりクリーンで堅牢なソフトウェア開発へのガイドとなってくれるでしょう。

よくある質問 (FAQ)

Q: コメントもスコアに影響しますか?

A: いいえ、本ツールは実際の実行ロジックに関連するキーワードのみを対象とするため、コメント行は無視されます。

Q: 対応している言語は?

A: JavaScript, Java, Python, C++, PHP など、C言語系の構文を採用している主要なプログラミング言語の制御構文に対応しています。

Q: スコア1は何を意味しますか?

A: 分岐やループが一切ない、直線的な構造のコードを意味します。最もシンプルで安全な状態です。