# 通用编码规范 (coding-standards)

> 提供跨项目的基础编码约定，涵盖命名、可读性、不可变性、错误处理和代码异味审查。

- 分类: [代码规范](https://www.myskills.tools/zh/categories/code-standards/)
- 来源: 社区 · Affaan Mustafa
- 代码仓库: https://github.com/affaan-m/ECC/tree/main/skills/coding-standards (commit d29cf65)
- SKILL.md: https://github.com/affaan-m/ECC/blob/main/skills/coding-standards/SKILL.md
- 安装命令: `npx skills add affaan-m/ECC --skill coding-standards`
- 许可证: MIT
- 兼容工具: Claude Code, Codex, Cursor, Copilot, OpenCode
- 权限: read-repo ✓, write-files ✓, shell ✗, network ✗
- 状态: 扫描通过
- 规则扫描无法覆盖所有风险，安装前请阅读此技能的 SKILL.md，确认权限后再使用。

## 核心规则

始终用展开运算符创建新对象和数组，绝不直接修改原数据。

## 执行阶段

1. **确认适用范围** — 本技能是通用底线；React、后端架构或 API 设计等问题优先使用对应的专门技能。
2. **核心原则** — 以可读性为先，遵循 KISS、DRY 和 YAGNI，避免过度设计和过早优化。
3. **TS/JS 规范** — 使用描述性变量名和动词-名词函数名，保持不可变，完善错误处理，能并行就用 Promise.all，避免 any。
4. **结构与测试约定** — 遵循 REST 和统一响应格式、用 zod 校验输入、按约定命名文件，注释解释原因，测试采用 AAA 结构和描述性名称。
5. **排查代码异味** — 检查超过 50 行的长函数、5 层以上的深度嵌套和魔法数字，分别用拆分、提前返回和命名常量处理。

## 权限说明（据 SKILL.md 整理）

| 能力 | 是否需要 | 说明 |
|---|---|---|
| 文件写入 | 需要 | 按这些约定编写或重构项目代码。 |
| 命令执行 | 不需要 | 这是规范参考，不要求运行命令。 |
| 网络外发 | 不需要 | 不需要访问网络。 |

## SKILL.md 头部信息（YAML）

```yaml
---
name: coding-standards
description: Baseline cross-project coding conventions for naming, readability, immutability, and code-quality review. Use detailed frontend or backend skills for framework-specific patterns. Use when reviewing code quality or naming with no framework-specific skill that applies.
metadata:
  origin: ECC
---
```

首页: https://www.myskills.tools/zh/ · URL: https://www.myskills.tools/zh/skills/coding-standards/
