名称: software-clean-code-standard 描述: 权威的跨语言清洁代码标准,具有稳定的规则ID(CC-*)。适用于编写/审查代码、定义团队标准或将lint/CI发现映射到一致的CC-*规则引用。
清洁代码标准 — 快速参考
此技能是本知识库共享技能的权威清洁代码标准。它定义了稳定的规则ID(CC-*),如何在审查中应用它们,以及如何通过语言覆盖和显式例外安全地扩展它们。
现代最佳实践(2026年1月): 优先选择小型的、可审查的更改和持久的更改上下文(https://google.github.io/eng-practices/review/developer/small-cls.html, https://google.github.io/eng-practices/review/developer/cl-descriptions.html)。一致使用规范性语言(RFC 2119: https://www.rfc-editor.org/rfc/rfc2119)。将安全设计和安全默认视为基线(OWASP Top 10: https://owasp.org/www-project-top-ten/, NIST SSDF SP 800-218: https://csrc.nist.gov/pubs/sp/800/218/final)。构建可观察系统(OpenTelemetry: https://opentelemetry.io/docs/)。对于当前工具选择,请查阅`data/sources.json`。
快速参考
| 任务 | 工具/框架 | 命令 | 何时使用 |
|---|---|---|---|
| 引用标准 | CC-* 规则ID |
N/A | PR审查评论、设计讨论、事后分析 |
| 分类反馈 | CC-NAM, CC-ERR, CC-SEC, 等 |
N/A | 保持反馈一致,避免“风格战争” |
| 添加堆栈细微差别 | 语言覆盖 | N/A | 当基础规则对语言/框架太泛化时 |
| 允许例外 | 豁免记录 | N/A | 当规则必须违反并有显式风险时 |
| 重用共享检查表 | assets/checklists/ |
N/A | 当需要产品无关的审查/发布检查表时 |
| 重用实用模式 | utilities/ |
N/A | 当提取共享认证/日志记录/错误/弹性/测试实用程序时 |
何时使用此技能
- 跨团队和语言定义或执行清洁代码规则。
- 审查代码:引用
CC-*ID,避免在审查中重述标准。 - 构建自动化:将linters/CI门控映射到
CC-*ID。 - 解决重复的审查辩论:对齐规则ID、范围和例外。
何时不使用此技能
- 深度安全审计:使用software-security-appsec进行超出
CC-SEC-*基线的OWASP/SAST深度探讨。 - 审查工作流机制:使用software-code-review进行PR工作流、审查员分配和反馈模式。
- 重构执行:使用qa-refactoring进行逐步重构模式和质量门控。
- 架构决策:使用software-architecture-design进行超越代码级规则的系统级权衡。
决策树:基础规则 vs 覆盖 vs 例外
反馈需要: [这是什么类型的指导?]
├─ 通用的、跨语言规则? → 在`references/clean-code-standard.md`中添加/修改`CC-*`
│
├─ 语言/框架特定的细微差别? → 添加覆盖条目,引用现有`CC-*`
│
└─ 一次性约束或临时权衡?
├─ 有时间限制? → 添加带有过期日期的豁免 + 跟踪问题
└─ 永久性? → 提议新规则或修订范围/例外标准
导航
资源
- references/clean-code-standard.md
- references/code-quality-operational-playbook.md — 旧版操作手册(RULE-01–RULE-13)
- references/clean-code-operational-checklist.md
- references/clean-coder-operational-checklist.md
- references/code-complete-operational-checklist.md
- references/pragmatic-programmer-operational-checklist.md
- references/practice-of-programming-operational-checklist.md
- references/working-effectively-with-legacy-code-operational-checklist.md
- references/art-of-clean-code-operational-checklist.md
- references/refactoring-operational-checklist.md
- references/design-patterns-operational-checklist.md
- data/sources.json — 用于审查、安全设计和可观察性的持久外部引用
- CONVENTIONS.md — 技能结构和验证约定
- SKILL-TEMPLATE.md — 新技能的复制粘贴启动器
- sources-schema.json —
data/sources.json的JSON模式 - skill-dependencies.json — 相关技能依赖图
模板
- assets/checklists/backend-api-review-checklist.md
- assets/checklists/secure-code-review-checklist.md
- assets/checklists/frontend-performance-a11y-checklist.md
- assets/checklists/mobile-release-checklist.md
- assets/checklists/ux-design-review-checklist.md
- assets/checklists/ux-research-plan-template.md
实用程序
- utilities/README.md
- utilities/auth-utilities.md
- utilities/error-handling.md
- utilities/config-validation.md
- utilities/resilience-utilities.md
- utilities/logging-utilities.md
- utilities/observability-utilities.md
- utilities/testing-utilities.md
- utilities/llm-utilities.md
相关技能
- …/software-code-review/SKILL.md — 审查工作流和判断;引用
CC-*ID - …/software-security-appsec/SKILL.md — 超出基线
CC-SEC-*的安全深度探讨 - …/qa-refactoring/SKILL.md — 重构执行模式和质量门控
- …/software-architecture-design/SKILL.md — 系统级权衡和边界
可选:AI/自动化
- 将自动化发现映射到
CC-*ID(linters、SAST、依赖扫描),以便人类可以审查影响,而不是工具噪音。 - 保持AI辅助建议为咨询性;人类审查员通过规则引用批准/拒绝(https://conventionalcomments.org/)。
趋势意识协议
重要:当用户询问关于清洁代码标准、linters或代码质量工具的推荐问题时,您必须使用网络搜索功能(如果可用)在回答前检查当前趋势。如果网络搜索不可用,请说明并使用data/sources.json回答,明确标记推荐可能已过时。
触发条件
- “什么是最好的[语言] linter?”
- “我应该用什么来进行[代码质量/静态分析]?”
- “清洁代码实践的最新动态是什么?”
- “[代码标准/格式化]的当前最佳实践?”
- “[ESLint/Prettier/Biome]在2026年仍然相关吗?”
- “[Biome] vs [ESLint] vs [其他]?”
- “最好的[语言]静态分析工具?”
所需搜索
- 搜索:
"clean code best practices 2026" - 搜索:
"[specific linter] vs alternatives 2026" - 搜索:
"code quality tools trends 2026" - 搜索:
"[language] linter comparison 2026"
报告内容
搜索后,提供:
- 当前格局:现在流行的linters/formatters是什么
- 新兴趋势:获得关注的新工具、标准或模式
- 已弃用/衰退:失去相关性或支持的工具/方法
- 推荐:基于新数据,不仅仅是静态知识
示例主题(用新搜索验证)
- JavaScript/TypeScript linters(ESLint, Biome, oxlint)
- Formatters(Prettier, dprint, Biome)
- Python质量(Ruff, mypy, pylint)
- Go linting(golangci-lint, staticcheck)
- Rust分析(clippy, cargo-deny)
- 代码质量度量和报告工具
- AI辅助代码审查工具