SuperAPI AI 工具集

linting

编程与开发

查看项目

更新于 10-15 23:32

技能介绍

用途:Ruff 是极快的 Python linter,用 Rust 编写,定位为 Flake8(含大量插件)、isort、pydocstyle、pyupgrade、autoflake 等的替代品,用于统一代码质量、修复风格警告、在 CI/CD 中强制规则,以及从旧 linter 迁移。

主要能力:单一 CLI 完成 lint 与可选自动修复;800+ 内置规则;比 Flake8、Black、isort 快 10-100 倍;兼容现有 Flake8 插件与配置;支持 pre-commit、CI 与现代编辑器;修复分安全与不安全两类,默认只应用安全修复。

使用方式:安装可用 uv pip install ruff 或 pip install ruff。常用命令:ruff check . 检查当前目录;ruff check . --fix 自动修复;ruff check --watch 监视模式;ruff check . --output-format github 输出 GitHub Actions 注解;ruff check . --diff 查看将发生的改动;ruff rule F401 解释规则。配置推荐写在 pyproject.toml 或 ruff.toml,通过 lint.select、lint.extend-select、lint.ignore 控制规则,例如先启用 E、F,再逐步加入 UP、B、SIM、I 等。可用 noqa 注释按行、按文件或按块抑制告警。退出码 0 表示无违规或已全部修复,1 表示存在违规,2 表示配置或内部错误。

适用场景:项目或团队统一代码质量;CI/CD 流水线强制规则;用单一快速工具替换多个 linter;自动修复常见风格问题;从 Flake8、isort 等迁移。

限制:不安全修复可能改变运行时行为,需显式加 --unsafe-fixes;块级抑制处于预览模式;规则冲突时需忽略格式化相关规则(如 E501);大型代码库需确保排除 .venv 并检查递归符号链接;noqa 语法需带冒号。具体规则细节与完整参考以官方文档为准。