一分钟速览
- Ruff(用 Rust 写的、极快的 Python 代码检查器 + 格式化工具,出自 uv 的团队 Astral)在 2026 年 7 月 23 日发布了 v0.16.0,最大变化是:**默认启用的检查规则从 59 条猛增到 413 条**。
- 为什么这么改:官方说,这些新加入默认集的规则里,很多能抓到**严重问题**——包括语法错误和会立刻导致程序崩溃的运行时错误,但此前**默认没开**,得你手动配置才生效。这次的目的就是「不用配置,也能自动暴露关键问题」。
- 这是个「破坏性变更」:升级后,很多现有项目会一下子冒出大量以前没报过的告警。但官方说对多数人是可控的。
- 如果你不想被淹没、想先保持旧行为:在配置里写上 `[lint] select = ["E4", "E7", "E9", "F"]`,就能恢复到 v0.16 之前的那套默认规则,之后再逐步接纳新检查。
- 其它亮点:Ruff 现在能**格式化 Markdown 文件里的 Python 代码块**(默认开启);新增了更灵活的 `ruff: ignore` 抑制注释(行内、整行、整文件,还能带说明理由、用 `--add-ignore` 自动加);`check` 和 `format --check` 的输出里现在会直接显示可用的修复 diff。
⚑ 本文基于 Ruff v0.16.0 的官方 GitHub Release 说明与 Astral 官方博客《Ruff v0.16.0》(astral.sh/blog/ruff-v0.16.0,作者 Brent Westbrook,2026-07-23,本站已直接核阅两者)整理;「默认规则 59→413」「新规则多能抓语法/运行时错误」「用 select = ["E4","E7","E9","F"] 恢复旧默认」「Markdown 代码格式化 / ruff: ignore / 输出显示修复」等均出自官方来源。Ruff 星标数经 GitHub API 读取。
Ruff 把默认检查规则从 59 条,一口气加到 413 条
如果你写 Python,大概率听过或用过 **Ruff**——一个用 Rust 写的、以「快得离谱」著称的代码检查器(linter)兼格式化工具,出自开发了 uv 的团队 Astral。2026 年 7 月 23 日,它发布了 **v0.16.0**,其中一个变化大到会让很多人升级后「吓一跳」:**默认启用的检查规则,从 59 条直接涨到了 413 条。**
这意味着,你升级到 0.16 之后,Ruff 会「开箱」就用一套严格得多的规则来检查你的代码——很多以前默默放过的写法,现在都会被标出来。对新项目是好事,对老项目则可能瞬间冒出一大堆告警。

为什么这么激进,以及怎么平滑过渡
「默认多开 354 条规则」听起来很激进,但背后的理由和退路,官方都讲清楚了。
为什么加:官方解释,这批被纳入默认集的规则里,很多是用来抓「严重问题」的——包括语法错误、以及会立即导致程序崩溃的运行时错误。这些规则一直存在,却因为「默认关闭」,需要你手动配置才会生效,很多人根本没开、白白错过。这次把它们默认打开,就是想让「关键问题不用配置也能自动暴露」。怎么回退:如果你的老项目升级后告警爆炸、想先稳住,只需在配置里写上一行——`[lint] select = ["E4", "E7", "E9", "F"]`——就能恢复到 v0.16 之前的那套精简默认规则,然后按自己的节奏,逐步把新检查一类类地加回来。官方也说,这虽然是破坏性变更,但对多数人是可控的;那些本就用 `select`/`extend-select` 自定义规则的项目,反而可能借此发现一些以前没注意到、挺有用的新规则。

顺带还更新了这些
除了默认规则,v0.16.0 还带来几个实用改进。
① Markdown 里的代码也能格式化了:Ruff 现在会默认格式化 Markdown 文件里的 Python 代码块(用 ```python 标注的那种),还能识别 Quarto 笔记本、尊重抑制注释——写文档、写教程时很省心。② 更灵活的「忽略」注释:新增了 `ruff: ignore` 系列抑制方式,支持行内、逻辑整行、以及 `ruff: file-ignore`(忽略整个文件),可以附上「为什么忽略」的说明,还能用新的 `--add-ignore` 命令行参数自动加上。③ 输出直接显示修复:`check` 和 `format --check` 的输出里,现在会直接展示可用修复的 diff,不用再单独加 `--diff` 参数;`format --check` 也支持了 github/gitlab 等输出格式,方便在 CI 里渲染成注解。
对日常用 Ruff 的人来说,这几个改进都是「用了就回不去」的小提升。
来源:Ruff v0.16.0 官方 GitHub Release 说明与 Astral 官方博客《Ruff v0.16.0》(astral.sh/blog/ruff-v0.16.0,作者 Brent Westbrook,2026-07-23,本站直接核阅;默认规则 59→413、「新规则多用于抓语法/运行时等严重错误」、用 `select = ["E4","E7","E9","F"]` 恢复旧默认集、Markdown 代码格式化、`ruff: ignore` 抑制注释与 `--add-ignore`、输出显示修复 diff 及 github/gitlab 输出格式等均出自官方来源);Ruff「极快的 Rust 版 Python 检查器/格式化工具」定位与 MIT、约 4.9 万星经其仓库与 GitHub API 核对。配图为 Astral 博客与 GitHub 页面截图。
Ruff 把默认检查从 59 条加到 413 条——升级后代码「突然报一堆错」别慌:这是为了自动抓出语法和崩溃类的真问题,想稳住就用一行 `select` 恢复旧默认,再慢慢加回来。


