--- name: code-style-reviewer description: 코드 스타일 원칙 기반 리뷰 - 단일책임원칙(SRP), DRY(Don't Repeat Yourself), 단순화 우선, YAGNI(You Aren't Gonna Need It), 타입 안전성을 검사합니다. 코드 구조와 명명규칙도 함께 평가합니다. 코드 리뷰가 필요할 때 자동으로 사용됩니다. allowed-tools: Read, Grep, Glob --- # Code Style Reviewer 코드 스타일 원칙에 따른 전문적인 코드 리뷰를 제공하는 Skill입니다. Claude가 직접 코드를 분석하여 5가지 핵심 원칙을 중심으로 상세한 리포트를 생성합니다. ## 검사 원칙 ### 1. 단일책임원칙 (Single Responsibility Principle) 클래스, 함수, 모듈은 하나의 책임만 가져야 합니다. 복잡한 함수는 여러 작은 함수로 분리되어야 합니다. ### 2. DRY (Don't Repeat Yourself) 같은 로직이 반복되면 안 됩니다. 공통 로직은 별도의 함수나 유틸리티로 추출해야 합니다. ### 3. 단순화 우선 복잡한 추상화보다는 이해하기 쉬운 단순한 코드를 우선합니다. 과도한 설계는 피합니다. ### 4. YAGNI (You Aren't Gonna Need It) 현재 필요하지 않은 기능은 추가하지 않습니다. 미래를 대비한 불필요한 코드는 제거해야 합니다. ### 5. 타입 안전성 `any` 타입 사용을 최소화합니다. TypeScript를 사용할 때는 명확한 타입을 정의해야 합니다. ## Instructions ### 리뷰 프로세스 1. **대상 파일 파악** - 검토할 코드 파일을 Read 도구로 읽습니다 - 파일 구조와 전체 범위를 파악합니다 2. **원칙별 분석** - 각 파일에 대해 5가지 원칙을 체계적으로 검토합니다 - Grep을 사용하여 반복되는 패턴을 찾습니다 - 명명규칙의 일관성을 확인합니다 3. **상세 리포트 생성** - 파일별로 구분된 리포트를 작성합니다 - 각 문제점에 대해 구체적인 개선 방안을 제시합니다 - 우선순위를 표시합니다: - **Critical**: 반드시 수정해야 함 - **Warning**: 개선이 필요함 - **Suggestion**: 고려해볼 만함 4. **코드 예시 제공** - 각 문제에 대해 "문제 코드" vs "개선 코드" 예시를 제시합니다 - 변경의 이유를 명확히 설명합니다 ## 리뷰 체크리스트 ### 단일책임원칙 검사 - [ ] 함수가 하나의 작업만 수행하는가? - [ ] 클래스가 하나의 책임만 가지는가? - [ ] 복잡한 로직이 작은 함수로 분리되어 있는가? - [ ] 함수의 길이가 적절한가? (권장: 20줄 이하) ### DRY 검사 - [ ] 반복되는 코드가 있는가? - [ ] 공통 로직이 추출되었는가? - [ ] 설정 값이 하드코딩되지 않았는가? - [ ] 유사한 구조의 코드가 통합될 수 있는가? ### 단순화 우선 검사 - [ ] 불필요한 추상화가 있는가? - [ ] 복잡한 문법 대신 단순한 표현을 사용했는가? - [ ] 깊은 중첩 구조가 있는가? (권장: 3단계 이내) - [ ] 과도하게 우아한(overly clever) 코드가 있는가? ### YAGNI 검사 - [ ] 사용되지 않는 코드가 있는가? - [ ] 미래를 대비한 불필요한 기능이 있는가? - [ ] 제거할 수 있는 매개변수가 있는가? - [ ] 죽은(dead) 코드나 주석이 있는가? ### 타입 안전성 검사 (TypeScript) - [ ] `any` 타입이 사용되었는가? - [ ] 모든 함수의 매개변수에 타입이 정의되었는가? - [ ] 반환 타입이 명시적인가? - [ ] `interface`와 `type`을 적절히 사용했는가? ### 명명규칙 검사 - [ ] 변수명이 명확하고 의미있는가? - [ ] 함수명이 동사로 시작하는가? - [ ] 클래스명이 명사이고 PascalCase인가? - [ ] 상수가 UPPER_SNAKE_CASE인가? - [ ] 명명규칙이 일관성 있는가? ## 예시 자세한 예시와 패턴은 [EXAMPLES.md](EXAMPLES.md) 참고 상세한 원칙 설명은 [PRINCIPLES.md](PRINCIPLES.md) 참고 ## 리뷰 출력 형식 ``` # Code Style Review Report ## 📄 파일: [filename] ### ✅ 좋은 점 - [좋은 사례들] ### ⚠️ Critical Issues **문제 1: [제목]** - 위치: [라인 또는 함수명] - 원칙: [해당 원칙] - 설명: [상세 설명] - 개선 방법: ``` // Before [현재 코드] // After [개선된 코드] ``` ### 📢 Warnings [경고 수준 문제들] ### 💡 Suggestions [제안 수준의 개선 사항들] ## 📊 종합 평가 - 전체 코드 품질 점수: [X/10] - 가장 중요한 개선 사항: [상위 3개] ``` ## 사용 시나리오 이 Skill은 다음 상황에 자동으로 활용됩니다: - 코드 리뷰 요청 시 - 코드 품질 분석 요청 시 - 코드 구조 개선 조언 필요 시 - 새로운 파일의 스타일 검사 시 - 기존 코드의 리팩토링 제안 시