Pythonのimportを選択したスタイルガイドに沿ってグループ分け・整列できているかをチェックする、flake8およびPylama用プラグイン。
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
pip を使って PyPI からプラグインをインストールします
pip install flake8-bugbear - 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 の数値は毎日更新されます。
関連プロジェクト
標準ライブラリだけで動作し、PEP 8のスタイル規約に沿っているかをチェックする単一ファイルのPythonチェッカー。
PyFlakes、pycodestyle、McCabeを1つのコマンドにまとめ、サードパーティ製プラグインにも対応するPythonリンターです。
一貫性のあるシンプルなPythonのコードスタイルを徹底し、複雑なコードパターンを検出する、厳格で独自の方針を持つflake8プラグイン。
関数のMcCabe循環的複雑度を計算し、flake8プラグインとして複雑すぎるコードを検出するPythonツールです。
execの使用や危険なデシリアライズなど、安全でないPythonのコーディングパターンを検出するflake8プラグイン。