关于 clean-code-principles
面向软件设计、评审和重构的跨语言指南,按 SOLID、核心原则和设计模式组织内容,并提供代码审查问题的报告格式。
主要功能
- 01SOLID 原则指南
- 02核心设计原则
- 03常见设计模式规则
- 04代码审查问题格式
适用场景
- 01评审软件架构
- 02重构现有代码
- 03按 SOLID 原则检查代码
- 04报告代码质量问题
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ asyrafhussin/ agent-skills --skill clean-code-principles安装后在 Claude Code 中输入/clean-code-principles确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdmetadata.jsonREADME.mdrules/_sections.md_template.mdcore-composition.mdcore-dry-extraction.mdcore-dry-single-source.mdcore-dry.mdcore-encapsulation.mdcore-fail-fast.mdcore-kiss-readability.mdcore-kiss-simplicity.mdcore-law-demeter.mdcore-separation-concerns.mdcore-yagni-abstractions.mdcore-yagni-features.mdpattern-repository.mdsolid-dip-abstractions.mdsolid-dip-injection.mdsolid-isp-clients.mdsolid-isp-interfaces.mdsolid-lsp-contracts.mdsolid-lsp-preconditions.mdsolid-ocp-abstraction.mdsolid-ocp-extension.mdsolid-srp-class.mdsolid-srp-function.md详细介绍
Clean Code 原则
基础软件设计原则、SOLID、设计模式和整洁代码实践。适用于各种编程语言的指南,助你编写易于维护、可扩展的软件。
适用场景
在以下情况下参考这些指南:
- 设计新功能或系统
- 审查代码架构
- 重构现有代码
- 讨论设计决策
- 提升代码质量
按优先级划分的规则类别
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | SOLID 原则 | 严重 | solid- |
| 2 | 核心原则 | 严重 | core- |
| 3 | 设计模式 | 高 | pattern- |
| 4 | 代码组织 | 高 | org- |
| 5 | 命名与可读性 | 中 | name- |
| 6 | 函数与方法 | 中 | func- |
| 7 | 注释与文档 | 低 | doc- |
快速参考
1. SOLID 原则(严重)
solid-srp- 单一职责原则solid-ocp- 开闭原则solid-lsp- 里氏替换原则solid-isp- 接口隔离原则solid-dip- 依赖反转原则
2. 核心原则(严重)
core-dry- 不要重复自己core-kiss- 保持简单core-yagni- 你不会需要它core-separation-of-concerns- 分离不同职责core-composition-over-inheritance- 优先使用组合core-law-of-demeter- 最少知识原则core-fail-fast- 尽早检测并报告错误core-encapsulation- 隐藏实现细节
3. 设计模式(高)
pattern-factory- 使用工厂模式创建对象pattern-strategy- 使用策略模式实现算法pattern-repository- 使用仓储模式访问数据pattern-decorator- 使用装饰器模式扩展行为pattern-observer- 使用观察者模式处理事件pattern-adapter- 使用适配器模式转换接口pattern-facade- 使用外观模式简化接口pattern-dependency-injection- 使用 DI 实现松耦合
4. 代码组织(高)— 计划中
org-feature-folders- 按功能而非层组织org-module-boundaries- 明确模块边界org-layered-architecture- 正确分离各层org-package-cohesion- 将相关代码放在一起org-circular-dependencies- 避免循环导入
5. 命名与可读性(中)— 计划中
name-meaningful- 使用能体现意图的名称name-consistent- 保持命名约定一致name-searchable- 避免魔法数字和字符串name-avoid-encodings- 不使用匈牙利命名法name-domain-language- 使用领域术语
6. 函数与方法(中)— 计划中
func-small- 保持函数简短func-single-purpose- 每个函数只做一件事func-few-arguments- 限制参数数量func-no-side-effects- 尽量减少副作用func-command-query- 分离命令与查询
7. 注释与文档(低)— 计划中
doc-self-documenting- 代码应能自我说明doc-why-not-what- 解释原因,而非内容doc-avoid-noise- 避免冗余注释doc-api-docs- 为公共 API 编写文档
核心指南
如需详细示例和说明,请参阅规则文件:
- core-dry.md - 不要重复自己原则
- pattern-repository.md - 使用仓储模式访问数据
SOLID 原则(摘要)
| 原则 | 定义 |
|---|---|
| Single Responsibility | 一个类应只有一个需要修改的理由 |
| Open/Closed | 对扩展开放,对修改关闭 |
| Liskov Substitution | 子类型必须可替代基类型 |
| Interface Segregation | 不要强迫客户端依赖未使用的接口 |
| Dependency Inversion | 依赖抽象,而非具体实现 |
核心原则(摘要)
| 原则 | 定义 |
|---|---|
| DRY | 不要重复自己(Don't Repeat Yourself)——单一事实来源 |
| KISS | 保持简单(Keep It Simple)——避免过度设计 |
| YAGNI | 你不会需要它(You Aren't Gonna Need It)——只构建所需内容 |
快速示例
// Single Responsibility - one class, one job
class UserService {
constructor(
private validator: UserValidator,
private repository: UserRepository,
) {}
createUser(data) {
this.validator.validate(data);
return this.repository.create(data);
}
}
// Dependency Inversion - depend on abstractions
interface Repository<T> {
find(id: string): Promise<T | null>;
save(entity: T): Promise<T>;
}
class OrderService {
constructor(private repository: Repository<Order>) {}
}
// DRY - single source of truth
const EMAIL_REGEX = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
const isValidEmail = (email: string) => EMAIL_REGEX.test(email);
// Meaningful names over magic numbers
const MINIMUM_AGE = 18;
if (user.age >= MINIMUM_AGE) { }
输出格式
审查代码时,请按以下格式输出发现的问题:
file:line - [principle] Description of issue
示例:
src/services/UserService.ts:15 - [solid-srp] Class handles validation, persistence, and notifications
src/utils/helpers.ts:42 - [core-dry] Email validation duplicated from validators/email.ts
src/models/Order.ts:28 - [name-meaningful] Variable 'x' should describe its purpose
使用方法
阅读各条规则文件,了解详细说明:
rules/solid-srp-class.md
rules/core-dry.md
rules/pattern-repository.md
参考资料
此技能基于成熟的软件工程原则:
核心书籍
- Clean Code,Robert C. Martin 著——整洁代码实践的基础
- Design Patterns,Gang of Four 著——经典设计模式目录
- Refactoring,Martin Fowler 著——改进代码结构
- The Pragmatic Programmer,Hunt 和 Thomas 著——实用智慧
在线资源
- Refactoring Guru——设计模式和代码异味
- Martin Fowler's Refactoring Catalog——全面的重构技巧
- Uncle Bob's Clean Coder Blog——软件工艺文章
模式目录
元数据
版本: 1.0.2 状态: 活跃 覆盖范围: 3 个已实现类别(SOLID、核心原则、设计模式)中的 23 条规则;另有 4 条计划中 最后更新: 2026-03-07
规则统计
- SOLID 原则:10 条规则
- 核心原则:12 条规则
- 设计模式:1 条规则
评论
支持 Markdown