<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>07-开发 on 编程那些事儿</title><link>https://before80.github.io/prgms/Rust/clippy/development/</link><description>Recent content in 07-开发 on 编程那些事儿</description><generator>Hugo</generator><language>zh-cn</language><lastBuildDate>Sun, 23 Aug 2026 21:05:58 +0800</lastBuildDate><atom:link href="https://before80.github.io/prgms/Rust/clippy/development/index.xml" rel="self" type="application/rss+xml"/><item><title>01-基础</title><link>https://before80.github.io/prgms/Rust/clippy/development/01-basics/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/01-basics/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="basics"&gt;基础&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/basics.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/basics.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;本文说明参与 Clippy 开发所需的基础知识，包括如何构建与测试 Clippy 等。若要更深入地了解代码库，请参阅&lt;a href="adding_lints.md"&gt;添加 Lint&lt;/a&gt; 或&lt;a href="common_tools_writing_lints.md"&gt;常用工具&lt;/a&gt;。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#%E5%8F%82%E4%B8%8E-clippy-%E5%BC%80%E5%8F%91%E7%9A%84%E5%9F%BA%E7%A1%80"&gt;参与 Clippy 开发的基础&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#%E8%8E%B7%E5%8F%96%E4%BB%A3%E7%A0%81"&gt;获取代码&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E6%9E%84%E5%BB%BA%E4%B8%8E%E6%B5%8B%E8%AF%95"&gt;构建与测试&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#cargo-dev"&gt;&lt;code&gt;cargo dev&lt;/code&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#lintcheck"&gt;lintcheck&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#pr"&gt;PR&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E5%B8%B8%E8%A7%81%E7%BC%A9%E5%86%99"&gt;常见缩写&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E4%BB%8E%E6%BA%90%E7%A0%81%E5%AE%89%E8%A3%85"&gt;从源码安装&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="获取代码"&gt;获取代码&lt;/h2&gt;
&lt;p&gt;首先确保已检出 Clippy 的最新版本。若这是你第一次参与 Clippy 开发，请先 fork 仓库，再用以下命令克隆：&lt;/p&gt;</description></item><item><title>02-添加 Lint</title><link>https://before80.github.io/prgms/Rust/clippy/development/02-adding-lints/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/02-adding-lints/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="adding-lints"&gt;添加 Lint&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/adding_lints.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/adding_lints.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;你很可能是因为想为 Clippy 添加新 lint 才来到这里。若这是你第一次为 Clippy 做贡献，本文将引导你从零开始创建一个示例 lint。&lt;/p&gt;
&lt;p&gt;我们将创建一个检测名为 &lt;code&gt;foo&lt;/code&gt; 的函数的 lint，因为显然这不是一个描述性的名称。&lt;/p&gt;</description></item><item><title>03-定义 Lint</title><link>https://before80.github.io/prgms/Rust/clippy/development/03-defining-lints/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/03-defining-lints/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="defining-lints"&gt;定义 Lint&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/defining_lints.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/defining_lints.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;新 lint 旅程的第一步，是在 Clippy 代码库中定义并注册该 lint。
由于涉及一些样板代码，可使用 Clippy 开发工具完成这一步。&lt;/p&gt;
&lt;h4 id="lint-类型"&gt;Lint 类型&lt;/h4&gt;
&lt;p&gt;lint 类型指你的 lint 所关注的项与表达式的类别。&lt;/p&gt;</description></item><item><title>04-编写测试</title><link>https://before80.github.io/prgms/Rust/clippy/development/04-writing-tests/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/04-writing-tests/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="writing-tests"&gt;编写测试&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/writing_tests.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/writing_tests.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;为 Clippy 开发 lint 是测试驱动开发（TDD）过程，因为在实现任何新 lint 逻辑之前，我们的首要任务是编写测试用例。&lt;/p&gt;
&lt;h2 id="用测试开发-lint"&gt;用测试开发 Lint&lt;/h2&gt;
&lt;p&gt;开发 Clippy 时，我们进入充满程序问题、风格错误、不合逻辑代码与违反惯例的复杂领域。
测试是我们能利用的第一层秩序，用来定义新 lint 应在何时、何地触发或不触发。&lt;/p&gt;</description></item><item><title>05-Lint 遍历</title><link>https://before80.github.io/prgms/Rust/clippy/development/05-lint-passes/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/05-lint-passes/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="lint-passes"&gt;Lint 遍历&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/lint_passes.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/lint_passes.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在实现新 lint 的逻辑之前，每位 Clippy 开发者都要做一个重要决定：使用
&lt;a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/trait.EarlyLintPass.html"&gt;&lt;code&gt;EarlyLintPass&lt;/code&gt;&lt;/a&gt; 还是 &lt;a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/trait.LateLintPass.html"&gt;&lt;code&gt;LateLintPass&lt;/code&gt;&lt;/a&gt;。&lt;/p&gt;
&lt;p&gt;简而言之，&lt;code&gt;LateLintPass&lt;/code&gt; 可访问类型与符号信息，而 &lt;code&gt;EarlyLintPass&lt;/code&gt; 不能。若不需要类型信息，请使用 &lt;code&gt;EarlyLintPass&lt;/code&gt;。&lt;/p&gt;</description></item><item><title>06-发出 Lint</title><link>https://before80.github.io/prgms/Rust/clippy/development/06-emitting-lints/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/06-emitting-lints/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="emitting-lints"&gt;发出 Lint&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/emitting_lints.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/emitting_lints.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在&lt;a href="defining_lints.md"&gt;定义 lint&lt;/a&gt;、编写 &lt;a href="writing_tests.md"&gt;UI 测试&lt;/a&gt;并&lt;a href="lint_passes.md"&gt;选择 lint pass&lt;/a&gt;之后，
即可开始实现 lint 逻辑以发出 lint，逐步使 lint 行为符合预期。&lt;/p&gt;
&lt;p&gt;注意本章不会深入具体 lint 逻辑的实现，细节将在后续章节及两个真实 Clippy lint 示例中讲解。&lt;/p&gt;</description></item><item><title>07-类型检查</title><link>https://before80.github.io/prgms/Rust/clippy/development/07-type-checking/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/07-type-checking/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="type-checking"&gt;类型检查&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/type_checking.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/type_checking.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;开发新 lint 或改进现有 lint 时，我们可能出于多种原因需要获取表达式 &lt;code&gt;Expr&lt;/code&gt; 的类型 &lt;code&gt;Ty&lt;/code&gt;。这可以通过 &lt;a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/trait.LateLintPass.html"&gt;&lt;code&gt;LateLintPass&lt;/code&gt;&lt;/a&gt; 可用的 &lt;a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/struct.LateContext.html"&gt;&lt;code&gt;LateContext&lt;/code&gt;&lt;/a&gt; 实现。&lt;/p&gt;
&lt;h2 id="latecontext-与-typeckresults"&gt;&lt;code&gt;LateContext&lt;/code&gt; 与 &lt;code&gt;TypeckResults&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;lint 上下文 &lt;a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_lint/struct.LateContext.html"&gt;&lt;code&gt;LateContext&lt;/code&gt;&lt;/a&gt; 与 &lt;a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_middle/ty/struct.TypeckResults.html"&gt;&lt;code&gt;TypeckResults&lt;/code&gt;&lt;/a&gt;（由 &lt;code&gt;LateContext::typeck_results&lt;/code&gt; 返回）是 &lt;code&gt;LateLintPass&lt;/code&gt; 中最有用的两个数据结构。它们让我们能跳转到类型定义及其他编译阶段（如 HIR）。&lt;/p&gt;</description></item><item><title>08-Trait 检查</title><link>https://before80.github.io/prgms/Rust/clippy/development/08-trait-checking/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/08-trait-checking/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="trait-checking"&gt;Trait 检查&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/trait_checking.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/trait_checking.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;除&lt;a href="type_checking.md"&gt;类型检查&lt;/a&gt;外，实现 lint 时我们可能还想检查特定类型 &lt;code&gt;Ty&lt;/code&gt; 是否实现了某 trait。
有三种做法，取决于目标 trait 是否有&lt;a href="https://rustc-dev-guide.rust-lang.org/diagnostics/diagnostic-items.html"&gt;诊断项（diagnostic item）&lt;/a&gt;、&lt;a href="https://doc.rust-lang.org/nightly/nightly-rustc/rustc_hir/lang_items/struct.LanguageItems.html"&gt;语言项（lang item）&lt;/a&gt;，或两者皆无。&lt;/p&gt;</description></item><item><title>09-方法检查</title><link>https://before80.github.io/prgms/Rust/clippy/development/09-method-checking/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/09-method-checking/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="method-checking"&gt;方法检查&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/method_checking.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/method_checking.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;开发 lint 时，某些场景下需要检查方法。我们可能关心两类问题：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;调用：表达式是否调用了特定方法？&lt;/li&gt;
&lt;li&gt;定义：&lt;code&gt;impl&lt;/code&gt; 是否定义了某方法？&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="检查-expr-是否调用特定方法"&gt;检查 &lt;code&gt;expr&lt;/code&gt; 是否调用特定方法&lt;/h2&gt;
&lt;p&gt;假设有 &lt;code&gt;expr&lt;/code&gt;，可通过匹配 &lt;code&gt;expr.kind&lt;/code&gt; 中的 &lt;a href="https://doc.rust-lang.org/beta/nightly-rustc/rustc_hir/hir/enum.ExprKind.html"&gt;&lt;code&gt;ExprKind&lt;/code&gt;&lt;/a&gt; 判断是否调用特定方法（如 &lt;code&gt;our_fancy_method&lt;/code&gt;）：&lt;/p&gt;</description></item><item><title>10-宏展开</title><link>https://before80.github.io/prgms/Rust/clippy/development/10-macro-expansions/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/10-macro-expansions/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="macro-expansions"&gt;宏展开&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/macro_expansions.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/macro_expansions.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;在 Clippy 中工作时，有时会遇到 Rust 宏展开。宏展开虽不如宇宙膨胀那般宏大，却可能为代码与逻辑的秩序世界带来混乱。&lt;/p&gt;
&lt;p&gt;一般原则是：在 Clippy 中应忽略来自宏展开的代码，因为这类代码可能以难以或无法预见的方式动态变化。&lt;/p&gt;</description></item><item><title>11-常用工具</title><link>https://before80.github.io/prgms/Rust/clippy/development/11-common-tools/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/11-common-tools/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="common-tools"&gt;常用工具&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/common_tools_writing_lints.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/common_tools_writing_lints.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;编写 lint 时可能需要以下提示以掌握常见操作。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#%E7%BC%96%E5%86%99-lint-%E7%9A%84%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7"&gt;编写 lint 的常用工具&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="#%E8%8E%B7%E5%8F%96%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%9A%84%E7%B1%BB%E5%9E%8B"&gt;获取表达式的类型&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E6%A3%80%E6%9F%A5-expr-%E6%98%AF%E5%90%A6%E8%B0%83%E7%94%A8%E7%89%B9%E5%AE%9A%E6%96%B9%E6%B3%95"&gt;检查 expr 是否调用特定方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E6%A3%80%E6%9F%A5%E7%89%B9%E5%AE%9A%E7%B1%BB%E5%9E%8B"&gt;检查特定类型&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E6%A3%80%E6%9F%A5%E7%B1%BB%E5%9E%8B%E6%98%AF%E5%90%A6%E5%AE%9E%E7%8E%B0%E7%89%B9%E5%AE%9A-trait"&gt;检查类型是否实现特定 trait&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E6%A3%80%E6%9F%A5%E7%B1%BB%E5%9E%8B%E6%98%AF%E5%90%A6%E5%AE%9A%E4%B9%89%E7%89%B9%E5%AE%9A%E6%96%B9%E6%B3%95"&gt;检查类型是否定义特定方法&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="#%E5%A4%84%E7%90%86%E5%AE%8F%E4%B8%8E%E5%B1%95%E5%BC%80"&gt;处理宏&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;有用的 Rustc 开发指南链接：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://rustc-dev-guide.rust-lang.org/compiler-src.html#the-main-stages-of-compilation"&gt;编译阶段&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rustc-dev-guide.rust-lang.org/diagnostics/diagnostic-items.html"&gt;诊断项&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rustc-dev-guide.rust-lang.org/type-checking.html"&gt;类型检查&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://rustc-dev-guide.rust-lang.org/ty.html"&gt;Ty 模块&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="获取表达式的类型"&gt;获取表达式的类型&lt;/h2&gt;
&lt;p&gt;有时需要获取表达式 &lt;code&gt;Expr&lt;/code&gt; 的类型 &lt;code&gt;Ty&lt;/code&gt;，例如回答：&lt;/p&gt;</description></item><item><title>14-团队</title><link>https://before80.github.io/prgms/Rust/clippy/development/14-the-team/</link><pubDate>Sat, 22 Aug 2026 18:00:00 +0800</pubDate><guid>https://before80.github.io/prgms/Rust/clippy/development/14-the-team/</guid><description>&lt;blockquote&gt;
&lt;p&gt;译文 · 基于 &lt;a href="https://doc.rust-lang.org/nightly/clippy/"&gt;Clippy Documentation&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h1 id="the-team"&gt;团队&lt;/h1&gt;
&lt;blockquote&gt;
&lt;p&gt;原文链接: &lt;a href="https://doc.rust-lang.org/nightly/clippy/development/the_team.html"&gt;https://doc.rust-lang.org/nightly/clippy/development/the_team.html&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;每一位为 Clippy 做贡献的人，都在塑造这个项目。协作与讨论是每个开源项目的命脉。Clippy 的层级非常扁平，团队主要拥有额外的仓库访问权限。&lt;/p&gt;</description></item></channel></rss>