mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
Add missing example sessions, code blocks, and detailed sections to 14 command files that were previously summarized versions.
3.2 KiB
3.2 KiB
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 ./... |
| cargo-udeps | 미사용 Rust 의존성 | cargo +nightly udeps |
사용 가능한 도구가 없는 경우, Grep을 사용하여 import가 없는 export를 찾습니다:
# export를 찾은 후, 다른 곳에서 import되는지 확인
2단계: 결과 분류
안전 등급별로 결과를 분류합니다:
| 등급 | 예시 | 조치 |
|---|---|---|
| 안전 | 미사용 유틸리티, 테스트 헬퍼, 내부 함수 | 확신을 가지고 삭제 |
| 주의 | 컴포넌트, API 라우트, 미들웨어 | 동적 import나 외부 소비자가 없는지 확인 |
| 위험 | 설정 파일, 엔트리 포인트, 타입 정의 | 건드리기 전에 조사 필요 |
3단계: 안전한 삭제 루프
각 안전 항목에 대해:
- 전체 테스트 스위트 실행 --- 기준선 확립 (모두 통과)
- 사용하지 않는 코드 삭제 --- Edit 도구로 정밀하게 제거
- 테스트 스위트 재실행 --- 깨진 것이 없는지 확인
- 테스트 실패 시 --- 즉시
git checkout -- <file>로 되돌리고 해당 항목을 건너뜀 - 테스트 통과 시 --- 다음 항목으로 이동
4단계: 주의 항목 처리
주의 항목을 삭제하기 전에:
- 동적 import 검색:
import(),require(),__import__ - 문자열 참조 검색: 라우트 이름, 설정 파일의 컴포넌트 이름
- 공개 패키지 API에서 export되는지 확인
- 외부 소비자가 없는지 확인 (게시된 경우 의존 패키지 확인)
5단계: 중복 통합
사용하지 않는 코드를 제거한 후 다음을 찾습니다:
- 거의 중복된 함수 (80% 이상 유사) --- 하나로 병합
- 중복된 타입 정의 --- 통합
- 가치를 추가하지 않는 래퍼 함수 --- 인라인 처리
- 목적이 없는 re-export --- 간접 참조 제거
6단계: 요약
결과를 보고합니다:
Dead Code Cleanup
──────────────────────────────
삭제: 미사용 함수 12개
미사용 파일 3개
미사용 의존성 5개
건너뜀: 항목 2개 (테스트 실패)
절감: 약 450줄 제거
──────────────────────────────
모든 테스트 통과 ✅
규칙
- 테스트를 먼저 실행하지 않고 절대 삭제하지 않기
- 한 번에 하나씩 삭제 --- 원자적 변경으로 롤백이 쉬움
- 확실하지 않으면 건너뛰기 --- 프로덕션을 깨뜨리는 것보다 사용하지 않는 코드를 유지하는 것이 나음
- 정리하면서 리팩토링하지 않기 --- 관심사 분리 (먼저 정리, 나중에 리팩토링)