SuperAPI AI 工具集

python-linter

编程与开发

查看项目

更新于 10-15 23:42

技能介绍

用途:当 Ruff 报告带字母数字规则码的 lint 错误时,为编码智能体提供上下文相关的修复指导,说明每条规则的含义、重要性以及具体修复方式。

主要能力:覆盖常见规则。E402 模块级导入不在文件顶部,需将导入移到模块顶部。B007 循环控制变量未使用,用下划线前缀标记。B008 默认参数中出现函数调用,标准做法是把初始化移入函数体;但 Typer 的 typer.Option()/typer.Argument() 属于有意为之的例外,不应修复,应使用 Annotated 注解模式。S108 硬编码临时文件路径,生产代码改用 tempfile.NamedTemporaryFile(),测试代码使用 pytest 的 tmp_path fixture。PLC0415 导入不在顶层,需移到模块顶部,并按标准库、第三方、本地应用分组。NPY002 使用旧版 NumPy 随机 API,改用 np.random.default_rng() 生成 Generator。S311 可疑的非加密随机数使用,安全场景改用 secrets 模块,纯模拟或数据分析场景可改用 NumPy 或按情况忽略。

使用方式:从 linter 输出中识别规则码,查阅对应规则说明,结合代码用途选择合适修复,并验证修复不引入新问题。

适用场景:Ruff 报告规则码错误、需要区分测试与生产代码的上下文修复、处理 Typer CLI 的 B008 误报、团队统一 lint 问题处理方式、帮助开发者熟悉 Ruff 最佳实践。

限制与兼容性:要求 Ruff 0.12.0 或更高版本,Python 3.8+,对 Typer、pytest 有特殊处理。更多细节可参考 references/typer-cli-pattern.md 与 Ruff 官方规则文档 https://docs.astral.sh/ruff/rules/。