关于 code-simplifier
面向 AI Agent 和 LLM 的代码简化指南,强调先理解项目约定、保持行为不变并控制改动范围,提供分级规则与示例。
主要功能
- 01涵盖 8 类简化规则
- 02按影响优先级排列规则
- 03强调保留输出、错误和副作用
- 04建议控制改动范围并保持差异精简
- 05提供控制流、命名和语言习惯指导
适用场景
- 01清理近期修改的代码
- 02减少嵌套、复杂度或重复
- 03改进命名与可读性
- 04审查代码的可维护性
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill code-simplifier安装后在 Claude Code 中输入/code-simplifier确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdmetadata.jsonREADME.mdassets/templates/_template.mdreferences/_sections.mdbehave-no-semantics-change.mdbehave-preserve-api.mdbehave-preserve-errors.mdbehave-preserve-outputs.mdbehave-preserve-side-effects.mdbehave-verify-before-commit.mdctx-detect-lint-config.mdctx-follow-existing-patterns.mdctx-project-over-generic.mdctx-read-claude-md.mddead-delete-not-comment.mddead-keep-why-comments.mddead-remove-obvious-comments.mddead-remove-todo-fixme.mddead-remove-unused.mddup-avoid-over-abstraction.mddup-data-driven.mddup-extract-for-clarity.mddup-no-single-use-helpers.mddup-rule-of-three.mdflow-boolean-simplification.mdflow-early-return.mdflow-explicit-over-dense.mdflow-flatten-nesting.mdflow-guard-clauses.md详细介绍
社区代码简化最佳实践
面向 AI Agent 和大模型的全面代码简化指南。包含 8 个类别中的 47 条规则,按影响程度从关键(上下文发现、行为保留)到渐进(语言惯用写法)排序。每条规则都包含详细说明、对比错误与正确实现的实际示例,以及具体的影响指标。
核心原则
- 上下文优先:进行任何更改前,先了解项目约定
- 保留行为:改变代码的写法,而不是代码的功能
- 严守范围:聚焦于近期修改的代码,保持差异精简
- 清晰胜于简短:明确、易读的代码胜过巧妙的单行代码
适用场景
在以下情况下参考这些指南:
- 简化或清理近期修改的代码
- 减少嵌套、复杂性或重复
- 改进命名和可读性
- 应用特定语言的惯用模式
- 审查代码的可维护性问题
按优先级划分的规则类别
| 优先级 | 类别 | 影响 | 前缀 | 规则数 |
|---|---|---|---|---|
| 1 | 上下文发现 | CRITICAL | ctx- | 4 |
| 2 | 行为保留 | CRITICAL | behave- | 6 |
| 3 | 范围管理 | HIGH | scope- | 5 |
| 4 | 控制流简化 | HIGH | flow- | 9 |
| 5 | 命名与清晰度 | MEDIUM-HIGH | name- | 6 |
| 6 | 减少重复 | MEDIUM | dup- | 5 |
| 7 | 消除死代码 | MEDIUM | dead- | 5 |
| 8 | 语言惯用写法 | LOW-MEDIUM | idiom- | 7 |
快速参考
1. 上下文发现(CRITICAL)
ctx-read-claude-md- 简化代码前,务必阅读 CLAUDE.mdctx-detect-lint-config- 检查是否存在 lint 和格式化配置ctx-follow-existing-patterns- 遵循文件和项目中现有的代码风格ctx-project-over-generic- 项目约定优先于通用最佳实践
2. 行为保留(CRITICAL)
behave-preserve-outputs- 保留所有返回值和输出behave-preserve-errors- 保留错误消息、类型和处理方式behave-preserve-api- 保留公共函数签名和类型behave-preserve-side-effects- 保留副作用(日志记录、I/O、状态更改)behave-no-semantics-change- 禁止细微的语义更改behave-verify-before-commit- 定稿前验证行为是否保留
3. 范围管理(HIGH)
scope-recent-code-only- 仅聚焦于近期修改的代码scope-minimal-diff- 保持更改精简且易于审查scope-no-unrelated-refactors- 不进行无关重构scope-no-global-rewrites- 避免全局重写和架构更改scope-respect-boundaries- 尊重模块和组件边界
4. 简化控制流(高)
flow-early-return- 使用提前返回减少嵌套flow-guard-clauses- 使用守卫子句检查前置条件flow-no-nested-ternaries- 绝不使用嵌套三元运算符flow-explicit-over-dense- 优先使用明确的控制流,而非密集表达式flow-flatten-nesting- 将深层嵌套扁平化,最多保留 2-3 层flow-single-responsibility- 每个代码块只做一件事flow-positive-conditions- 优先使用肯定条件,避免双重否定flow-optional-chaining- 使用可选链和空值合并flow-boolean-simplification- 简化布尔表达式
5. 命名与清晰度(中高)
name-intention-revealing- 使用能体现意图的名称name-nouns-for-data- 数据使用名词,操作使用动词name-avoid-abbreviations- 避免晦涩的缩写name-consistent-vocabulary- 始终使用一致的词汇name-avoid-generic- 避免使用泛化的名称name-string-interpolation- 优先使用字符串插值,而非拼接
6. 减少重复(中)
dup-rule-of-three- 遵循三次原则dup-no-single-use-helpers- 避免只使用一次的辅助函数dup-extract-for-clarity- 仅在能提升清晰度时提取代码dup-avoid-over-abstraction- 优先接受重复,避免过早抽象dup-data-driven- 使用数据驱动模式,而非重复的条件判断
7. 消除死代码(中)
dead-remove-unused- 删除未使用的代码产物dead-delete-not-comment- 删除代码,不要将其注释掉dead-remove-obvious-comments- 删除显而易见的注释dead-keep-why-comments- 保留解释原因的注释,而非解释内容的注释dead-remove-todo-fixme- 删除过时的 TODO/FIXME 注释
8. 语言习惯用法(低至中)
idiom-ts-strict-types- 使用严格类型,而非 any(TypeScript)idiom-ts-const-assertions- 使用 const 断言和 readonly(TypeScript)idiom-rust-question-mark- 使用 ? 传播错误(Rust)idiom-rust-iterator-chains- 在更清晰时使用迭代器链(Rust)idiom-python-comprehensions- 简单转换使用推导式(Python)idiom-go-error-handling- 立即处理错误(Go)idiom-prefer-language-builtins- 优先使用语言和标准库内置功能
工作流
- 了解上下文:阅读 CLAUDE.md 和 lint 配置,检查现有模式
- 确定范围:除非另有要求,否则聚焦于最近修改的代码
- 应用转换:按优先级顺序使用规则(先处理 CRITICAL)
- 验证行为:确保输出、错误和副作用保持不变
- 尽量缩小差异:保持改动小而集中,便于审查
如何使用
阅读各个参考文件,了解详细说明和代码示例:
参考文件
| 文件 | 说明 |
|---|---|
| references/_sections.md | 类别定义和排序 |
| assets/templates/_template.md | 新规则模板 |
| metadata.json | 版本和参考信息 |
评论
支持 Markdown