리팩토링 프롬프트

프롬프트코딩리팩토링클린코드최적화

코드 리팩토링을 위한 효과적인 프롬프트 패턴을 알아봅니다.


리팩토링 프롬프트 구조


구조 개선

함수 분리

다음 코드를 더 작은 함수들로 분리해줘.

[긴 함수 코드]

목표:
- 단일 책임 원칙
- 재사용 가능한 단위
- 테스트 용이성

제약:
- 동작 변경 없이
- 함수당 20줄 이하
- 명확한 함수명

클래스 리팩토링

다음 클래스를 리팩토링해줘.

[현재 클래스 코드]

문제점:
- 너무 많은 책임
- 긴 메서드
- 중복 코드

요청:
- 관심사 분리
- 헬퍼 클래스 추출
- 인터페이스 정의
- 의존성 주입

모듈 구조화

다음 파일을 여러 모듈로 분리해줘.

[긴 파일 코드]

분리 기준:
- 기능별 모듈
- 타입 정의 분리
- 유틸리티 분리
- 상수 분리

결과물:
- 폴더 구조
- 각 파일 내용
- index.ts (배럴 파일)

가독성 향상

변수명 개선

다음 코드의 변수명과 함수명을 개선해줘.

[코드]

가이드라인:
- 의미를 명확히 전달
- 약어 사용 최소화
- 일관된 명명 규칙
- 동사/명사 적절히 사용

Before/After 형식으로 보여줘

조건문 단순화

복잡한 조건문을 단순화해줘.

[복잡한 if-else 코드]

기법:
- Early return
- Guard clauses
- 조건 추출 (의미 있는 변수/함수)
- 중첩 제거

각 단계별로 설명 포함

매직 넘버 제거

매직 넘버와 문자열을 상수로 추출해줘.

[코드]

요청:
- 상수 이름 부여
- 적절한 위치에 정의
- enum 사용 고려
- 타입 안전성 확보

성능 최적화

알고리즘 개선

다음 코드의 성능을 개선해줘.

[비효율적인 코드]

분석 요청:
- 현재 시간 복잡도
- 병목 지점
- 개선된 알고리즘
- 개선 후 복잡도

벤치마크 코드도 포함

메모리 최적화

메모리 사용을 최적화해줘.

[코드]

문제:
- 불필요한 복사
- 큰 배열 처리
- 메모리 누수 가능성

해결:
- 참조 사용
- 스트리밍 처리
- 적절한 정리

React 성능

React 컴포넌트 성능을 최적화해줘.

[컴포넌트 코드]

확인 사항:
- 불필요한 리렌더링
- 무거운 계산
- 번들 크기

적용할 기법:
- React.memo
- useMemo / useCallback
- 코드 스플리팅
- 가상화

디자인 패턴

패턴 적용

적절한 디자인 패턴을 적용해줘.

[현재 코드]

문제:
- 여러 조건에 따른 분기
- 객체 생성 로직 복잡
- 변경에 취약한 구조

고려할 패턴:
- Strategy
- Factory
- Observer
- Decorator

패턴 선택 이유도 설명

의존성 역전

의존성 역전 원칙을 적용해줘.

[현재 코드]

변경 사항:
- 인터페이스 추출
- 의존성 주입
- 구현 분리

결과:
- 테스트 용이성 향상
- 유연한 확장
- 낮은 결합도

타입 강화

any 제거

다음 코드에서 any 타입을 제거해줘.

[any가 많은 코드]

요청:
- 적절한 타입 정의
- 제네릭 활용
- 타입 가드 추가
- unknown 사용 고려

타입 좁히기

런타임 타입 체크를 타입 안전하게 만들어줘.

[타입 체크 코드]

적용:
- 타입 가드 함수
- discriminated union
- assertion 함수
- Zod 스키마 (필요시)

코드 스멜 제거

중복 제거

중복 코드를 제거해줘.

[중복이 있는 코드]

기법:
- 공통 함수 추출
- 제네릭 활용
- 상속/합성
- 고차 함수

DRY 원칙 적용

긴 매개변수 목록

긴 매개변수 목록을 개선해줘.

function createUser(
  name, email, password, phone,
  address, city, country, zipCode,
  role, department, ...
)

해결:
- 객체 매개변수
- Builder 패턴
- 옵션 객체
- 관련 매개변수 그룹화

실전 프롬프트

전체 리팩토링

다음 코드를 전체적으로 리팩토링해줘.

[레거시 코드]

관점:
1. 구조: 모듈 분리
2. 가독성: 명명, 포매팅
3. 타입: TypeScript 강화
4. 패턴: 적절한 패턴 적용
5. 테스트: 테스트 가능한 구조

단계별로 변경하고 각 단계 설명 포함

점진적 개선

다음 코드를 점진적으로 개선해줘.

[문제 있는 코드]

우선순위:
1. 버그 위험이 높은 부분
2. 가장 자주 변경되는 부분
3. 성능 문제
4. 가독성 문제

각 단계가 독립적으로 배포 가능하게

설명
코드 전체 제공컨텍스트 파악
문제점 명시개선 포인트 지적
제약 조건동작 유지 명시
단계별 요청점진적 개선
설명 요청변경 이유 포함

리팩토링은 동작을 유지하면서 구조를 개선합니다.

궁금한 점이 있으신가요?

협업·의뢰는 아래로, 가벼운 소통은 인스타그램 @bluefox._.hi도 환영이에요.