Repolode
PyCQA

PyCQA/mccabe

関数のMcCabe循環的複雑度を計算し、flake8プラグインとして複雑すぎるコードを検出するPythonツールです。

スター
684
フォーク
70
未解決の Issue
12
最終コミット
26 日前

これは何?

mccabeはPythonコードのMcCabe(循環的)複雑度を測定します。これは、関数内にある独立した実行経路の数を表します。スコアが高い関数は、読みづらくテストしにくいことを示します。単独のモジュールとしてファイルに対して実行すると、指定したしきい値を超える複雑度の関数が表示されます。

Pythonコードチェッカーのflake8用プラグインとしても動作します。インストール直後は無効になっており、--max-complexityオプションで有効にすると、複雑度が指定値を超える関数にC901警告を報告します。

このプロジェクトはPyCQA組織のもとで保守されており、近年のPython 3に対応しています。バージョン0.7.0では、Python 3.6未満のサポートが終了しました。

主な機能

  • 01Pythonの関数やメソッドのMcCabe循環的複雑度を計算します。
  • 02--minしきい値を指定し、python -m mccabeで単独実行できます。
  • 03--max-complexityオプションでflake8と連携し、C901警告を報告します。
  • 04async/await構文と近年のPython 3に対応しています。

ユースケース

  • コードレビューやCIで複雑すぎる関数を検出する。
  • flake8の設定を通じて、Pythonプロジェクト全体に複雑度の上限を適用する。
  • リファクタリングの前に、モジュール内で最も複雑な関数を見つける。

クイックスタート

  1. 1

    pipを使ってPyPIからmccabeをインストールします

    pip install mccabe
  2. 2

    Pythonファイルにスタンドアロンのチェッカーを実行し、最も複雑な関数を一覧表示します

    python -m mccabe --min 5 mccabe.py
  3. 3

    最大複雑度を設定して、flake8プラグインとして使用します

    flake8 --max-complexity 10 coolproject

使う前に知っておきたいこと

  • プロジェクトのメタデータにライセンスが明確に記載されていないため、商用利用の前にライセンスファイルを確認してください。
  • プラグインのチェックはデフォルトで無効になっており、--max-complexityで有効にする必要があります。

収録されている特集

トピック

#python#code-quality#cyclomatic-complexity#flake8#linter#static-analysis#complexity#complexity-analysis#flake8-extensions#flake8-plugin

よくある質問

mccabe とは?
関数のMcCabe循環的複雑度を計算し、flake8プラグインとして複雑すぎるコードを検出するPythonツールです。 mccabeはPythonコードのMcCabe(循環的)複雑度を測定します。これは、関数内にある独立した実行経路の数を表します。スコアが高い関数は、読みづらくテストしにくいことを示します。単独のモジュールとしてファイルに対して実行すると、指定したしきい値を超える複雑度の関数が表示されます。
mccabe は無料で使えますか?ライセンスは?
mccabe は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
mccabe は今もメンテナンスされていますか?
活発にメンテナンス中。mccabe の最終コミットは 2026年10月12日 です。
mccabe は何に使えますか?
コードレビューやCIで複雑すぎる関数を検出する。 flake8の設定を通じて、Pythonプロジェクト全体に複雑度の上限を適用する。 リファクタリングの前に、モジュール内で最も複雑な関数を見つける。
mccabe のインストール方法は?
pipを使ってPyPIからmccabeをインストールします: pip install mccabe Pythonファイルにスタンドアロンのチェッカーを実行し、最も複雑な関数を一覧表示します: python -m mccabe --min 5 mccabe.py 最大複雑度を設定して、flake8プラグインとして使用します: flake8 --max-complexity 10 coolproject
mccabe はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/PyCQA/mccabe

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト