AgentSkillsCN

Code Review

代码审查

SKILL.md

Code Review Skill

AI 에이전트의 코드 리뷰 가이드

트리거

code
/review

리뷰 목표

코드 리뷰의 목적은 다음과 같습니다:

  1. 버그 방지: 잠재적 버그와 엣지 케이스 발견
  2. 코드 품질: 가독성, 유지보수성 향상
  3. 보안 강화: 보안 취약점 식별
  4. 지식 공유: 팀 전체의 코드 이해도 향상

리뷰 체크리스트

1. 기능 요구사항 (Functional)

  • 요구사항을 정확히 구현했는가?
  • 엣지 케이스를 처리했는가?
  • 에러 상황을 적절히 처리했는가?

2. 코드 품질 (Quality)

  • 코드가 읽기 쉽고 이해하기 쉬운가?
  • 함수/클래스가 단일 책임을 가지는가?
  • 중복 코드가 없는가?
  • 네이밍이 명확한가?

3. 보안 (Security)

  • 입력 검증이 적절한가?
  • SQL 인젝션 취약점이 없는가?
  • XSS 취약점이 없는가?
  • 민감 정보가 하드코딩되어 있지 않은가?
  • 인증/인가가 적절한가?

4. 성능 (Performance)

  • N+1 쿼리 문제가 없는가?
  • 불필요한 연산이 없는가?
  • 메모리 누수 가능성이 없는가?
  • 적절한 캐싱을 사용했는가?

5. 테스트 (Testing)

  • 적절한 테스트가 작성되었는가?
  • 엣지 케이스가 테스트되었는가?
  • 테스트가 독립적인가?

6. 문서화 (Documentation)

  • 공개 API에 문서가 있는가?
  • 복잡한 로직에 주석이 있는가?
  • README가 업데이트되었는가?

리뷰 프로세스

Step 1: 전체 맥락 파악

markdown
1. PR 설명 읽기
2. 관련 이슈/요구사항 확인
3. 변경된 파일 목록 파악
4. 영향 범위 이해

Step 2: 코드 분석

markdown
1. 아키텍처 준수 여부 확인
2. 코딩 컨벤션 확인
3. 각 파일 세부 리뷰
4. 테스트 코드 리뷰

Step 3: 피드백 작성

markdown
1. 필수 수정 사항 (Blocker)
2. 권장 수정 사항 (Suggestion)
3. 질문 (Question)
4. 칭찬 (Praise)

리뷰 코멘트 작성법

필수 수정 (Blocker)

markdown
🚨 **[필수]** 보안 취약점

SQL 인젝션 취약점이 있습니다. 파라미터화된 쿼리를 사용해주세요.

**현재 코드:**
```sql
query = f"SELECT * FROM users WHERE id = {user_id}"

수정 제안:

sql
query = "SELECT * FROM users WHERE id = ?"
cursor.execute(query, (user_id,))
code

### 권장 수정 (Suggestion)

```markdown
💡 **[제안]** 가독성 개선

이 조건문을 early return 패턴으로 변경하면 더 읽기 쉬워집니다.

**현재 코드:**
```javascript
if (user) {
  if (user.isActive) {
    // 긴 코드...
  }
}

수정 제안:

javascript
if (!user) return;
if (!user.isActive) return;
// 긴 코드...
code

### 질문 (Question)

```markdown
❓ **[질문]** 설계 의도

이 로직에서 `null`을 반환하는 대신 예외를 던지는 것이 더 적절할 것 같은데, 특별한 이유가 있나요?

칭찬 (Praise)

markdown
✨ **[좋습니다]**

에러 처리가 잘 구현되어 있네요! 특히 사용자 친화적인 에러 메시지가 좋습니다.

보안 리뷰 포인트

인증/인가

code
- JWT 토큰 검증이 적절한가?
- 권한 확인이 누락되지 않았는가?
- 세션 관리가 안전한가?

입력 검증

code
- 모든 사용자 입력이 검증되는가?
- 파일 업로드 검증이 있는가?
- URL 파라미터가 검증되는가?

데이터 보호

code
- 민감 데이터가 로그에 노출되지 않는가?
- 비밀번호가 안전하게 해싱되는가?
- 개인정보가 적절히 암호화되는가?

AI 리뷰 출력 형식

markdown
## 코드 리뷰 결과

### 요약
- 변경 파일: X개
- 발견된 이슈: Y개 (필수: A, 권장: B)
- 전체 평가: [Approved / Request Changes / Comment]

### 필수 수정 사항
1. [파일명:라인] 설명
2. [파일명:라인] 설명

### 권장 사항
1. [파일명:라인] 설명

### 좋은 점
- 설명

### 결론
[최종 의견]

참고: .agent/conventions.md의 코딩 규칙을 기준으로 리뷰합니다.