Repolode
MartinThoma

MartinThoma/flake8-simplify

isinstance呼び出しの統合やifブロックの三項演算子への置き換えなど、より簡潔に書けるPythonコードを指摘するflake8プラグイン。

スター
195
フォーク
22
未解決の Issue
59
最終コミット
6 日前

これは何?

flake8-simplifyは、Pythonのリンターであるflake8用のプラグインです。ネストしたif文の統合、contextlib.suppressで置き換えられるtry/except/passブロック、enumerateを使える手動のループカウンターなど、より短く、または慣用的に書けるコードパターンを指摘するルールを追加します。

各ルールはSIM101やSIM108のようなコードと、該当箇所およびメッセージを報告するため、ほかのflake8チェックと同じワークフローで利用できます。パッケージをインストールしてflake8を実行するだけでルールが有効になり、標準のflake8設定で個別のコードを無視できます。新しいルールは、安定版のコードが割り当てられるまで、試験期間としてSIM9プレフィックスで公開されます。

このパッケージはPython 3.10〜3.14に対応しており、pipでインストールできます。以前は含まれていた一部のルールは、別プロジェクトのflake8-screamに移動しました。

主な機能

  • 01統合できるネストしたif文を検出する。
  • 02冗長なコードの代わりに、三項演算子、any()、all()、dict.get()を提案する。
  • 03contextlib.suppressで置き換えられるtry/except/passブロックを指摘する。
  • 04enumerateに置き換えられる手動のインデックスカウンターを報告する。
  • 05ルールごとの無視設定に対応した、標準的なflake8プラグインとして動作する。

ユースケース

  • コードレビューやリファクタリングでPythonコードベースを整理する。
  • チームのflake8設定で、より簡潔なコーディングパターンを徹底する。
  • 冗長なパターンをより短く書く方法を確認し、Pythonの慣用的な書き方を学ぶ。

クイックスタート

  1. 1

    pipでプラグインをインストールします

    pip install flake8-simplify
  2. 2

    プロジェクトでflake8を実行して、簡略化のヒントを確認します

    flake8 .

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

  • 実験的なSIM9xxルールは、試験期間終了後に変更または名称変更される場合があります。

収録されている特集

トピック

よくある質問

flake8-simplify とは?
isinstance呼び出しの統合やifブロックの三項演算子への置き換えなど、より簡潔に書けるPythonコードを指摘するflake8プラグイン。 flake8-simplifyは、Pythonのリンターであるflake8用のプラグインです。ネストしたif文の統合、contextlib.suppressで置き換えられるtry/except/passブロック、enumerateを使える手動のループカウンターなど、より短く、または慣用的に書けるコードパターンを指摘するルールを追加します。
flake8-simplify は無料で使えますか?ライセンスは?
flake8-simplify は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
flake8-simplify は今もメンテナンスされていますか?
活発にメンテナンス中。flake8-simplify の最終コミットは 2026年11月1日 です。
flake8-simplify は何に使えますか?
コードレビューやリファクタリングでPythonコードベースを整理する。 チームのflake8設定で、より簡潔なコーディングパターンを徹底する。 冗長なパターンをより短く書く方法を確認し、Pythonの慣用的な書き方を学ぶ。
flake8-simplify のインストール方法は?
pipでプラグインをインストールします: pip install flake8-simplify プロジェクトでflake8を実行して、簡略化のヒントを確認します: flake8 .
flake8-simplify はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/MartinThoma/flake8-simplify

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

関連プロジェクト