Repolode
MartinThoma

MartinThoma/flake8-simplify

一个 flake8 插件,用于检测可以简化重写的 Python 代码写法。

Star
195
Fork
22
未关闭 Issue
59
最近提交
6天前

这是什么?

flake8-simplify 是 Python 代码检查工具 flake8 的一个插件,用于找出可以写得更简洁、更符合习惯的代码。它覆盖的情况包括可以合并的嵌套 if 语句、可以改用 contextlib.suppress 的 try/except/pass、可以用 enumerate 替代的手动计数器等。

每条规则都会以 SIM 开头的错误码报告问题,并给出位置和说明,与其他 flake8 检查一起运行。安装后直接执行 flake8 即可生效,也可以通过标准的 flake8 配置忽略某些规则。较新的规则会先以 SIM9 前缀作为实验性规则发布,经过试用期后再分配正式编号。

该包支持 Python 3.10 至 3.14,可通过 pip 安装。部分早期规则已迁移到另一个项目 flake8-scream 中。

核心功能

  • 01检测可以合并为一个的嵌套 if 语句。
  • 02建议用三元表达式、any()、all() 或 dict.get() 替代冗长写法。
  • 03标记可以改用 contextlib.suppress 的 try/except/pass 代码块。
  • 04发现可以用 enumerate 替代的手动计数器。
  • 05以标准 flake8 插件形式运行,支持按规则忽略。

适用场景

  • 在代码审查或重构时清理 Python 代码。
  • 在团队的 flake8 配置中统一更简洁的编码风格。
  • 通过对比冗长写法与简洁写法,学习更地道的 Python 编程习惯。

快速上手

  1. 1

    使用 pip 安装插件

    pip install flake8-simplify
  2. 2

    在项目上运行 flake8 查看简化提示

    flake8 .

使用前须知

  • 实验性的 SIM9xx 规则在试用期后可能会变更或重命名。

收录于专题

标签

常见问题

flake8-simplify 是什么?
一个 flake8 插件,用于检测可以简化重写的 Python 代码写法。 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

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目