더러운 코드, 클린 코드로 1초 만에 리팩토링하기
📝 더러운 코드, 클린 코드로 1초 만에 리팩토링하기
- 🎯 추천 대상: 주니어 개발자, 레거시 코드와 씨름하는 개발자
- ⏱️ 소요 시간: 1시간 → 3분 단축
- 🤖 추천 모델: 모든 대화형 AI (ChatGPT, Claude, Gemini 등)
“나도 내가 짠 코드를 못 알아보겠어요… 이 스파게티를 어떻게 풀죠?”
급하게 짜느라 변수명은 엉망이고, 함수 하나가 100줄을 넘어가는 경험, 다들 있으시죠? 동료에게 보여주기 부끄러운 코드를 ‘클린 코드’의 정석대로 리팩토링해주는 비서가 있다면 어떨까요? 이 프롬프트 하나면 가독성, 성능, 유지보수성까지 한 번에 잡을 수 있습니다.
⚡️ 3줄 요약 (TL;DR)
- 변수명/함수명 직관적으로 변경
- 중복 코드 제거 및 함수 분리
- 최신 문법 적용 및 성능 최적화
🚀 해결책: “클린 코드 리팩토러”
아래 PROMPT 내용을 복사해서 사용하세요.
역할 (Role): 너는 20년 차 시니어 소프트웨어 엔지니어이자 ‘클린 코드(Clean Code)’ 전문가야.
상황 (Context): 내가 작성한 코드가 기능은 작동하지만 가독성이 떨어지고 유지보수가 어려워. 변수명도 명확하지 않고 중복된 로직이 많아.
요청 (Task): 아래 제공된 코드를 다음 기준에 맞춰 리팩토링해줘:
- 네이밍: 변수와 함수 이름은 그 의도를 명확히 알 수 있도록 변경해줘.
- 함수 분리: 하나의 함수가 하나의 일만 하도록(SRP) 작게 쪼개줘.
- 중복 제거: 반복되는 로직은 별도 함수나 유틸리티로 추출해줘.
- 주석: 코드가 ‘왜(Why)’ 그렇게 작성되었는지 설명이 필요한 부분에만 주석을 달아줘.
- 최신 문법: 해당 언어의 최신 모던 문법을 적용해줘.
코드:
[여기에 리팩토링할 코드를 붙여넣으세요]제약사항 (Constraints):
- 기존 코드의 비즈니스 로직(동작)은 절대 변경하지 마.
- 리팩토링 전과 후의 주요 변경 사항을 목록으로 요약해서 설명해줘.
- 출력은 코드 블록과 설명 블록으로 나눠서 보여줘.
🧬 프롬프트 해부 (Why it works?)
이 프롬프트가 강력한 이유는 3가지 논리적 장치 때문입니다.
- Role 부여: ‘20년 차 시니어 엔지니어’ 페르소나를 통해 엄격한 기준을 적용합니다.
- 구체적 지침: 단순히 “수정해줘”가 아니라 SRP(단일 책임 원칙), 네이밍, 중복 제거 등 구체적인 가이드라인을 제시했습니다.
- 안전장치: “비즈니스 로직은 변경하지 말 것”이라는 제약을 걸어 기능 고장을 방지했습니다.
📊 증명: Before & After
❌ Before (입력)
function calc(d) {
let t = 0;
for (let i = 0; i < d.length; i++) {
if (d[i].price > 100) {
t += d[i].price * 0.9;
} else {
t += d[i].price;
}
}
return t;
}✅ After (결과)
/**
* 장바구니 총액을 계산합니다.
* 100원 초과 상품은 10% 할인을 적용합니다.
*/
function calculateTotalPrice(items) {
const DISCOUNT_THRESHOLD = 100;
const DISCOUNT_RATE = 0.9;
return items.reduce((total, item) => {
const finalPrice =
item.price > DISCOUNT_THRESHOLD ? item.price * DISCOUNT_RATE : item.price;
return total + finalPrice;
}, 0);
}변경사항: calc -> calculateTotalPrice, d -> items, 매직 넘버 상수화, reduce 사용.
🚨 트러블 슈팅 (안 될 땐 이렇게!)
Q. 코드가 너무 많이 바뀌어서 불안해요. A. 제약사항에 “코드 구조를 크게 바꾸지 말고 네이밍과 포맷팅 위주로만 수정해줘” 라고 추가하세요.
Q. 특정 스타일(예: 함수형 프로그래밍)을 원해요. A. 요청 사항에 “함수형 프로그래밍 스타일을 최대한 적용해줘” 라고 명시하면 됩니다.
🎯 결론
더 이상 “나중에 고쳐야지”라고 미루지 마세요. 이 프롬프트로 3초 만에 냄새나는 코드를 향기로운 코드로 바꾸고 퇴근하세요! 🍷