# Refactor Clean 사용하지 않는 코드를 안전하게 식별하고 매 단계마다 테스트 검증을 수행합니다. ## 1단계: 사용하지 않는 코드 감지 프로젝트 유형에 따라 분석 도구 실행: | 도구 | 감지 대상 | 커맨드 | |------|----------|--------| | knip | 미사용 exports, 파일, 의존성 | `npx knip` | | depcheck | 미사용 npm 의존성 | `npx depcheck` | | ts-prune | 미사용 TypeScript exports | `npx ts-prune` | | vulture | 미사용 Python 코드 | `vulture src/` | | deadcode | 미사용 Go 코드 | `deadcode ./...` | ## 2단계: 결과 분류 안전 등급별 분류: | 등급 | 예시 | 조치 | |------|------|------| | **안전** | 미사용 유틸리티, 테스트 헬퍼, 내부 함수 | 확신을 가지고 삭제 | | **주의** | 컴포넌트, API 라우트, 미들웨어 | 동적 임포트나 외부 소비자가 없는지 확인 | | **위험** | 설정 파일, 엔트리 포인트, 타입 정의 | 건드리기 전에 조사 | ## 3단계: 안전한 삭제 루프 각 안전 항목에 대해: 1. **전체 테스트 실행** — 기준선 확립 (모두 통과) 2. **사용하지 않는 코드 삭제** — Edit 도구로 정밀 삭제 3. **테스트 재실행** — 깨진 것이 없는지 확인 4. **테스트 실패 시** — 즉시 `git checkout -- `로 되돌리고 건너뜀 5. **테스트 통과 시** — 다음 항목으로 이동 ## 규칙 - **테스트를 먼저 실행하지 않고 절대 삭제하지 않기** - **한 번에 하나씩 삭제** — 원자적 변경으로 롤백 용이 - **확실하지 않으면 건너뛰기** — 프로덕션을 깨뜨리는 것보다 사용하지 않는 코드를 유지하는 것이 나음 - **정리하면서 리팩토링하지 않기** — 관심사 분리 (먼저 정리, 나중에 리팩토링)