一个计算 Python 函数 McCabe 圈复杂度的工具,可作为 flake8 插件使用,用于发现过于复杂的代码。
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
使用 pip 安装插件
pip install flake8-simplify - 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 数据每日更新。
相关项目
68470PythonOther更新于 26天前
一款严格且观点鲜明的 flake8 插件,用于统一 Python 代码风格并标记复杂写法。
2944+3 本周438PythonMIT维护活跃更新于 7小时前
一个 Python 代码检查工具,将 PyFlakes、pycodestyle 和 McCabe 整合为单一命令。
3834+1 本周365PythonOther更新于 3天前
一个 flake8 和 Pylama 插件,用于检查 Python 导入语句的分组与排序是否符合指定的风格规范。
27972PythonLGPL-3.0更新于 5天前
一个命令行工具与 flake8 插件,用于在多个项目间统一配置文件中的设置,并可自动修正。
413+1 本周26PythonMIT更新于 5天前
用 Rust 编写的极速 Python 代码检查与格式化工具,内置 900 多条规则。
5.1万+550 本周2629RustMIT维护活跃更新于 2小时前