mcpField
C
clean-code-principles

clean-code-principles

github.com/asyrafhussin开发951.8k 次安装9 周前更新
代码仓库

关于 clean-code-principles

面向软件设计、评审和重构的跨语言指南,按 SOLID、核心原则和设计模式组织内容,并提供代码审查问题的报告格式。

主要功能

  1. 01SOLID 原则指南
  2. 02核心设计原则
  3. 03常见设计模式规则
  4. 04代码审查问题格式

适用场景

  1. 01评审软件架构
  2. 02重构现有代码
  3. 03按 SOLID 原则检查代码
  4. 04报告代码质量问题

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/asyrafhussin/agent-skills --skill clean-code-principles

安装后在 Claude Code 中输入/clean-code-principles确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
README.md
rules/
_sections.md
_template.md
core-composition.md
core-dry-extraction.md
core-dry-single-source.md
core-dry.md
core-encapsulation.md
core-fail-fast.md
core-kiss-readability.md
core-kiss-simplicity.md
core-law-demeter.md
core-separation-concerns.md
core-yagni-abstractions.md
core-yagni-features.md
pattern-repository.md
solid-dip-abstractions.md
solid-dip-injection.md
solid-isp-clients.md
solid-isp-interfaces.md
solid-lsp-contracts.md
solid-lsp-preconditions.md
solid-ocp-abstraction.md
solid-ocp-extension.md
solid-srp-class.md
solid-srp-function.md

详细介绍

Clean Code 原则

基础软件设计原则、SOLID、设计模式和整洁代码实践。适用于各种编程语言的指南,助你编写易于维护、可扩展的软件。

适用场景

在以下情况下参考这些指南:

  • 设计新功能或系统
  • 审查代码架构
  • 重构现有代码
  • 讨论设计决策
  • 提升代码质量

按优先级划分的规则类别

优先级类别影响前缀
1SOLID 原则严重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 编写文档

核心指南

如需详细示例和说明,请参阅规则文件:

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 著——实用智慧
在线资源
模式目录

元数据

版本: 1.0.2 状态: 活跃 覆盖范围: 3 个已实现类别(SOLID、核心原则、设计模式)中的 23 条规则;另有 4 条计划中 最后更新: 2026-03-07

规则统计
  • SOLID 原则:10 条规则
  • 核心原则:12 条规则
  • 设计模式:1 条规则

评论

支持 Markdown