---
description: 코드 리뷰 워크플로우 - PR 생성 전 자체 리뷰 체크리스트
---

# 코드 리뷰 워크플로우

> PR 생성 전 자체 리뷰를 통해 코드 품질을 보장합니다.

---

## 1단계: 코드 품질 검증

<% if (hasTurbo) { %>// turbo
<% } %>```bash
<% if (lintTool === 'biome') { %>
npx @biomejs/biome check --apply .
<% } else if (lintTool === 'eslint') { %>
npx eslint . --fix
<% } else if (lintTool === 'prettier') { %>
npx prettier --write .
<% } else { %>
<%= runCmd %> lint
<% } %>
```

<% if (hasTurbo) { %>// turbo
<% } %>```bash
<%= runCmd %> typecheck
```

## 2단계: 테스트 실행

<% if (hasTurbo) { %>// turbo
<% } %>```bash
<%= runCmd %> test
```

## 3단계: 자체 리뷰 체크리스트

### 코드 품질
- [ ] **네이밍**: 변수/함수명이 명확하고 일관적인가?
- [ ] **중복 제거**: 불필요한 코드 중복이 없는가?
- [ ] **주석**: 복잡한 로직에 적절한 주석이 있는가?

### 보안
- [ ] **민감 정보**: API 키, 비밀번호 등 하드코딩 없는가?
- [ ] **입력 검증**: 사용자 입력에 대한 검증이 있는가?
- [ ] **권한 확인**: 적절한 인증/인가 체크가 있는가?

### 성능
- [ ] **쿼리 최적화**: N+1 문제 등 비효율적 쿼리 없는가?
- [ ] **불필요한 렌더링**: React useMemo/useCallback 적절히 사용?
- [ ] **번들 크기**: 불필요한 import 없는가?

### 테스트
- [ ] **커버리지**: 새 기능에 대한 테스트 추가?
- [ ] **엣지 케이스**: 예외 상황 테스트?

## 4단계: 커밋 정리

```bash
# 커밋 히스토리 정리 (필요시)
git rebase -i HEAD~N

# 커밋 메시지 컨벤션 확인
# feat: 새 기능
# fix: 버그 수정
# refactor: 리팩토링
# docs: 문서 수정
# test: 테스트 추가
```

## 5단계: PR 생성

```bash
git push origin <branch-name>
```

PR 작성 시 포함 사항:
- [ ] 변경 사항 요약
- [ ] 테스트 방법
- [ ] 스크린샷 (UI 변경 시)
- [ ] 관련 이슈 링크
