mcpField
C
clean-code-ts-react

clean-code-ts-react

github.com/pproenca开发218218 次安装11 周前更新
代码仓库

关于 clean-code-ts-react

clean-code-ts-react 是面向 TypeScript 5.x 和 React 19 开发与评审的代码质量技能,适用于编写、审查和重构代码的团队。它以 61 条规则组织清晰命名、函数设计等实践,并专门说明原则冲突时如何取舍。

主要功能

  1. 01涵盖 11 类共 61 条规则
  2. 02提供 TypeScript 5.x 与 React 19 示例
  3. 03为每条规则列出不适用情形
  4. 04指导命名、函数、类型和错误处理
  5. 05说明常见原则冲突的取舍

适用场景

  1. 01评审 TypeScript 或 React 代码
  2. 02重构代码以提升可读性
  3. 03设计函数、Hook 或组件 API
  4. 04判断抽象、复用或重复的取舍

安装

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

$npx skills add https://github.com/pproenca/dot-skills --skill clean-code-ts-react

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

包含的文件

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

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
bound-isolate-framework.md
bound-learning-tests.md
bound-type-assertions-at-edges.md
bound-wrap-third-party-hooks.md
comp-avoid-hoc-stacks.md
comp-children-over-props.md
comp-context-only-when-needed.md
comp-render-props-vs-hooks.md
comp-separate-construction-from-use.md
comp-small-components.md
data-branded-types.md
data-demeter-prop-drilling.md
data-discriminated-unions-over-flags.md
data-dto-vs-domain.md
data-readonly-by-default.md
data-structural-typing-pitfalls.md
doc-avoid-redundant-comments.md
doc-delete-commented-out-code.md
doc-jsdoc-public-api.md
doc-satisfies-narrows-with-check.md
doc-types-over-comments.md
emerge-four-rules.md
emerge-premature-abstraction.md
emerge-reveal-intent.md
emerge-yagni-types.md
err-early-return.md

详细介绍

Robert C. Martin(Uncle Bob)的 TypeScript 5.x + React 19 最佳实践

将 Robert C. Martin 的《Clean Code》(2008)中的工艺原则,重新阐释为适用于现代 TypeScript 和 React 的实践。包含 11 个类别中的 61 条规则,按代码变更整个生命周期中的认知成本排序。示例使用 TS 5.x 和 React 19 的惯用写法——但这些规则关乎永恒的原则,而非特定 API。

这项技能有何不同

有三点让它有别于一般的整洁代码指南:

  1. 以现代惯用写法为载体。 示例使用 TS 5.x(satisfies、品牌类型、可辨识联合、const 类型参数)和 React 19(函数组件、hooks、use(),以及适用时的 Server Components)。但规则始终讲的是原则,而非语法。
  2. “何时不适用”是重点。 每条规则都包含 2–3 个具体场景,说明原则应当有所变通——不是泛泛的免责声明,而是真实情况。循环计数器可以叫 i。只用一次的代码不必遵循 DRY。某些 HOC 无法避免。
  3. 设有原则冲突的元类别。 第 11 类明确列出最常见的冲突——DRY 与单一职责、小函数与深模块(Ousterhout)、类型精确性与 API 易用性、测试作为规范与文档。资深与否,体现在知道该在哪些地方变通。

何时应用

遇到以下情况时,可参考这些指南:

  • 编写新的 TypeScript 或 React 代码,并希望获得工艺方面的反馈
  • 审查拉取请求中的清晰度、命名或抽象
  • 重构现有代码以提升可读性或可维护性
  • 设计函数、hook 或组件 API
  • 决定要提取、抽象还是复制代码
  • 解决两条整洁代码规则之间的冲突(参见第 11 类)

以下情况请跳过这项技能,改用:

  • react,了解 React 19 API 模式(并发渲染、Server Components、ref-as-prop、useActionState、<Context>-as-provider)
  • typescript,了解编译器性能、tsconfig 调优、类型系统性能
  • refactor,了解机械式重构工作流
  • tdd,了解 TDD 工作流本身

按优先级划分的规则类别

排序反映变更整个生命周期中的认知成本(阅读 → 理解 → 修改 → 验证 → 发布 → 维护)。越早的阶段影响越大——糟糕的命名会影响每一次阅读。

优先级类别影响前缀规则数
1有意义的名称严重name-8
2函数、组件与 Hooks严重func-8
3自文档化(类型与注释)高doc-5
4格式(超越 Prettier)高fmt-4
5错误处理高err-7
6数据形状与不可变性中高data-6
7边界中高bound-4
8组合优于继承中高comp-6
9测试中test-5
10涌现与简单设计中emerge-4
11元原则:原则冲突时中meta-4

总计:61 条规则。

快速参考

1. 有意义的名称(严重)
2. 函数、组件与 Hook(CRITICAL)
3. 自我说明:类型与注释(HIGH)
4. Prettier 之外的格式规范(HIGH)
5. 错误处理(HIGH)
6. 数据形状与不可变性(MEDIUM-HIGH)
7. 边界(MEDIUM-HIGH)
8. 组合优于继承(中高优先级)
9. 测试(中优先级)
10. 涌现与简单设计(中优先级)
11. 元原则:原则冲突时如何处理(中优先级)

这是本类别的标志性内容——明确说明一种整洁代码原则何时应让位于另一种原则。

使用方法

对于临时问题(“这样的命名可以吗?”、“我应该提取这部分吗?”),请通过上方的快速参考直接跳转到相关规则文件。

对于代码审查或重构,请按优先级顺序浏览各类别——先检查名称和函数形态(影响范围最大),再检查错误和数据形态,最后检查组合和测试。按类别而非按文件逐项检查会更高效。

当两项原则看似冲突时,请阅读相应的元原则(第 11 类)。选出优先适用的原则,并记录决策。

参考文件

文件描述
references/_sections.md类别定义和排序
assets/templates/_template.md添加新规则的模板
metadata.json版本和参考信息

相关技能

  • .experimental/clean-code — 原始的、与语言无关的整洁代码指南(Java 示例)。此技能是其 TS+React 版本。
  • .curated/react — React 19 专属模式(Server Components、并发渲染、ref-as-prop)。
  • .curated/typescript — TS 编译器性能和 tsconfig 调优。
  • .curated/refactor — 机械式重构工作流。
  • .curated/tdd — TDD 工作流本身。

评论

支持 Markdown