Repolode
PyCQA

PyCQA/flake8-bugbear

pyflakesやpycodestyleがチェックしない、バグの可能性が高いコードや疑わしい設計パターンを検出するFlake8プラグイン。

スター
1,124
フォーク
134
未解決の Issue
40
最終コミット
22 時間前

これは何?

flake8-bugbearは、PythonのリンターFlake8にバグの可能性が高いコードや設計上の問題を検出するチェックを追加するプラグインです。bare except節、ミュータブルな引数のデフォルト値、引数のデフォルト値での関数呼び出し、ループ対象を上書きするループ変数、ループ内の遅延束縛クロージャなどのパターンを警告します。

各チェックは独自の判断に基づくもので、標準のpyflakesやpycodestyleのルールとは別に提供されています。警告コードにはそれぞれBから始まるコードが割り当てられており、独自判断に基づくB9xxチェックはデフォルトで無効です。有効にするにはextend-selectで明示的に指定する必要があります。extend-immutable-callsやclassmethod-decoratorsなどの設定で動作を調整できます。

pip installを1回実行するだけでインストールでき、その後はFlake8がプラグインを自動的に読み込みます。

主な機能

  • 01bare except節を検出し、より具体的な例外を捕捉するよう提案します。
  • 02ミュータブルな引数のデフォルト値や、デフォルト値での関数呼び出しを検出します。
  • 03使われていないループ変数や、ループ対象をシャドーイングするループ変数を警告します。
  • 04assert False、無意味な式、属性名が定数のgetattrなど、よくあるミスを検出します。
  • 05デフォルトで無効になっており、設定で有効化する独自判断に基づくB9xxチェックを提供します。

ユースケース

  • CIでFlake8をすでに実行しているPythonプロジェクトに、バグに特化したlintチェックを追加する。
  • コードレビュー中に、ミュータブルなデフォルト引数や遅延束縛クロージャのミスを見つける。
  • チームのコードベース全体で、より厳格な例外処理ルールを適用する。

クイックスタート

  1. 1

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

    pip install flake8-bugbear
  2. 2

    flake8 がプラグインを認識したことを確認します

    flake8 --version

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

  • flake8 のプラグインとしてのみ動作するため、flake8 のインストールが必要です。
  • チェック項目のいくつかは独自の見解に基づいており、根拠となる PEP や標準はありません。

収録されている特集

トピック

よくある質問

flake8-bugbear とは?
pyflakesやpycodestyleがチェックしない、バグの可能性が高いコードや疑わしい設計パターンを検出するFlake8プラグイン。 flake8-bugbearは、PythonのリンターFlake8にバグの可能性が高いコードや設計上の問題を検出するチェックを追加するプラグインです。bare except節、ミュータブルな引数のデフォルト値、引数のデフォルト値での関数呼び出し、ループ対象を上書きするループ変数、ループ内の遅延束縛クロージャなどのパターンを警告します。
flake8-bugbear は無料で使えますか?ライセンスは?
flake8-bugbear は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
flake8-bugbear は今もメンテナンスされていますか?
活発にメンテナンス中。flake8-bugbear の最終コミットは 2026年11月6日 です。
flake8-bugbear は何に使えますか?
CIでFlake8をすでに実行しているPythonプロジェクトに、バグに特化したlintチェックを追加する。 コードレビュー中に、ミュータブルなデフォルト引数や遅延束縛クロージャのミスを見つける。 チームのコードベース全体で、より厳格な例外処理ルールを適用する。
flake8-bugbear のインストール方法は?
pip を使って PyPI からプラグインをインストールします: pip install flake8-bugbear flake8 がプラグインを認識したことを確認します: flake8 --version
flake8-bugbear はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/PyCQA/flake8-bugbear

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

関連プロジェクト