# 코딩 표준 (coding-standards)

> 명명, 가독성, 불변성, 오류 처리, 코드 스멜 검토 등 프로젝트 전반에 적용되는 기본 코딩 규칙을 제공합니다.

- 카테고리: [코드 규약](https://www.myskills.tools/ko/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/ko/ · URL: https://www.myskills.tools/ko/skills/coding-standards/
