Agent skill

refactoring

리팩토링 검증 및 코드 비교 시 적용하는 가이드. Use when verifying refactoring correctness, comparing before/after code, or ensuring no behavioral regressions.

Stars 163
Forks 31

Install this agent skill to your Project

npx add-skill https://github.com/majiayu000/claude-skill-registry/tree/main/skills/other/other/refactoring-jimmy-jung-claude-symbiote

SKILL.md

리팩토링 검증 가이드

7단계 검증 프로세스

0단계: 프로젝트 타입 및 범위 식별

  • 프로젝트 언어 확인
  • 리팩토링 전 파일 형식 확인 (.bak, .backup, Git diff 등)
  • 리팩토링 범위 확인 (단일 파일 / 모듈 / 전체)
  • 리팩토링 유형 확인 (함수 추출 / 클래스 분리 / 아키텍처 변경 / 언어 마이그레이션)

1단계: 파일 구조 비교

  • 타입/클래스/인터페이스 시그니처 비교
  • 접근 제어자 변경 확인
  • Extension/Category 분리 여부 확인
  • 백업 파일 존재 여부 확인

2단계: API 시그니처 분석

  • 공개 함수/메서드 시그니처 일치 여부
  • 접근 제어자 변경으로 인한 외부 API 영향
  • Generic/제네릭 타입 파라미터 변경
  • 추가/제거된 메서드 확인 및 대체 로직 검증

3단계: 핵심 로직 비교

  • 리팩토링 대상 함수/메서드의 전후 비교
  • 분리된 타입/모듈로의 로직 이동 확인
  • 조건 분기 로직 완전성 확인
  • 에러 처리 로직 보존 여부

4단계: 외부 의존성 및 네트워크 분석

  • 네트워크 요청/응답 처리 완전성
  • 요청 타입 누락 여부 (REQUEST_ 타입 등)
  • 의존성 주입 컨테이너 변경 확인
  • 프레임워크/라이브러리 사용 변경 확인

5단계: 상태 관리 및 메모리 분석

  • 인스턴스 변수/프로퍼티 접근 경로 변경
  • 상태 변수 초기화 위치 변경
  • 상태 변수 동기화 문제 확인
  • weak/strong 참조 변경, 순환 참조 가능성

6단계: 초기화 및 생명주기 분석

  • 초기화 로직 변경 확인
  • 의존성 주입 순서 확인
  • nil/null 체크 및 안전장치 확인
  • 에러 처리 및 예외 전파 경로 확인

7단계: 종합 버그 리포트 작성

  • 발견된 문제점 우선순위 분류
  • 수정 방안 제시
  • 영향도 분석

8가지 주요 버그 패턴

패턴 증상 검증
로직 순서 변경 실행 순서가 변경됨 조건 분기 순서 비교, guard 문 순서 확인
케이스 처리 누락 특정 케이스가 처리되지 않음 모든 조건 분기 경로 확인, switch exhaustive 확인
네트워크 요청 타입 누락 일부 요청 타입이 Handler/Repository에 누락 요청 타입 목록 비교
상태 변수 동기화 상태가 올바르게 업데이트되지 않음 상태 변수 할당 위치 비교
의존성 주입 실패 nil 참조로 인한 크래시 nil 체크 및 fallback 로직 확인
메모리 관리 문제 누수 또는 조기 해제 weak/unowned 사용 확인, 참조 그래프 분석
타입 변환 문제 언어 간 타입 변환 실패 브릿징 타입 확인, Optional 처리 확인
비동기 처리 변경 비동기 완료 전 접근 또는 콜백 누락 비동기 호출 경로 확인, 콜백 확인

상세 검증 항목

API 시그니처 비교: 구조체/클래스/프로토콜 시그니처 일치, 접근 제어자 변경, Generic 제약 조건 변경

함수/메서드 로직 비교: 함수 길이 변화, 조건 분기 완전성, 에러 처리 보존, 반환값 일치, 부수 효과 보존

네트워크 요청 분석: 리팩토링 전 요청 타입 추출, 리팩토링 후 처리 타입 추출, 누락된 타입 목록 작성

분리된 컴포넌트 검증: 모든 로직 이동 확인, 헬퍼 메서드 완전성, 의존성 주입 confirmation, 인터페이스 일치

상태 관리 변수 검증: 프로퍼티 접근 경로 변경, 초기화 위치 변경, 동기화 문제 가능성

분석 보고서 템플릿

markdown
# [파일명] 리팩토링 전후 비교 분석

## 분석 개요
- 리팩토링 전 파일: [경로]
- 리팩토링 후 파일: [경로]
- 분석 일시: [날짜]

## 1. 헤더/인터페이스 비교
### 변경 사항 확인
### 발견된 문제점
### 수정 방안

## 2. [메서드명] 메서드 분석
### 변경 사항 확인
### 발견된 문제점
### 수정 방안

## 심각한 버그 (즉시 수정 필요)
1. [버그 설명]
   - 위치: [파일:줄]
   - 영향: [영향도 설명]
   - 수정 방안: [코드 예시]

## 중간 수준 문제 (수정 권장)
...

## 경미한 문제 (선택적 수정)
...

## 정상 동작 확인
...

## 통계
- 총 분석 항목: N개
- 심각한 버그: N개
- 중간 수준 문제: N개
- 경미한 문제: N개

## 우선순위별 수정 계획
1. 즉시 수정 (심각한 버그)
2. 단기 수정 (중간 수준 문제)
3. 장기 개선 (경미한 문제)

검증 체크리스트

필수 검증 항목:

  • 공개 API 시그니처 일치
  • 핵심 메서드 로직 완전성
  • 네트워크 요청 타입 누락 확인
  • 상태 변수 접근 경로 확인
  • 에러 처리 로직 보존
  • 조건 분기 완전성 확인

선택적 검증 항목:

  • 성능 영향 분석
  • 메모리 관리 변경 확인
  • 테스트 커버리지 확인
  • 문서화 업데이트 확인

검증 도구

파일 비교:

  • diff -u [전파일] [후파일]
  • wc -l로 라인 수 비교

시그니처 추출:

  • grep으로 함수/메서드 정의 추출
  • 전후 비교하여 누락/추가 확인

호출 추적:

  • grep으로 특정 함수/메서드 호출 위치 확인
  • 타입 사용 추적

요청 타입 추출:

  • 리팩토링 전: grep으로 모든 요청 타입 추출
  • 리팩토링 후: Handler/Repository에서 처리되는 타입 추출
  • comm -23으로 누락된 타입 목록 작성

사전 준비 및 백업

  • 테스트가 존재하는지 확인
  • 현재 동작 문서화
  • .bak 파일 또는 git stash
  • 브랜치 분리 권장

롤백 계획

  • 문제 발견 시 즉시 되돌릴 수 있도록
  • 배포 전 검증 단계 확보

Expand your agent's capabilities with these related and highly-rated skills.

Didn't find tool you were looking for?

Be as detailed as possible for better results