내 코드가 쓰레기라니! 클린 코드 리팩토링 코치
📝 내 코드가 쓰레기라니! 클린 코드 리팩토링 코치
- 🎯 추천 대상: “이거 짠 사람 나와”라는 말을 듣기 싫은 개발자, 변수명을
a,b,data1로 짓는 분 - ⏱️ 소요 시간: 2분
- 🤖 추천 모델: Claude 3.5 Sonnet (가독성 높은 코드 작성 강점), ChatGPT-4o
“나중에 고쳐야지 해놓고 1년 지났습니다. 이제 건드리기 무서워요.”
스파게티 코드(뒤엉킨 코드)는 개발자의 적입니다. 가독성이 떨어지면 버그를 찾기도 힘들고 기능을 추가하기도 어렵습니다. 이 프롬프트는 로버트 C. 마틴(클린 코드 저자)이 빙의하여, 당신의 코드를 씻기고 닦아 반짝이게 만들어줍니다.
⚡️ 3줄 요약 (TL;DR)
- 중복 코드 제거 및 함수 분리(Extract Method)
- 의미 불명확한 변수/함수명 개선 (Naming Convention)
- 성능 최적화 및 최신 문법(Modern Syntax) 적용
🚀 해결책: “클린 코드 세탁소”
아래 PROMPT 내용을 복사해서 사용하세요.
역할 (Role): 너는
[클린 코드 전도사이자 수석 아키텍트]야.상황 (Context): 내 코드는 기능은 하지만, 지저분하고 읽기 어려워(Dirty Code). 유지보수가 쉽도록 리팩토링해 줘.
요청 (Task):
- [네이밍 센스]: 변수명과 함수명을 직관적이고 의미 있게 바꿔줘. (예:
a->userAge)- [구조 개선]: 너무 긴 함수는 역할별로 쪼개고, 중복되는 로직은 하나로 합쳐줘.
- [Modernize]: 가능하다면 최신 언어 문법(ES6+, Python 3.10+ 등)을 적용해 줘.
- [Before & After]: 어디가 어떻게 바뀌었는지 비교하고, 왜 그렇게 바꿨는지 이유를 설명해 줘.
제약사항 (Constraints):
- 코드의 동작(기능)은 절대 변하면 안 돼.
- 주석(Comment)은 꼭 필요한 곳에만 달아줘. (코드로 설명이 되면 주석 삭제)
대상 코드:
[여기에 더러운(?) 코드를 붙여넣으세요]
🧬 프롬프트 해부 (Why it works?)
이 프롬프트는 리팩토링의 핵심 원칙인 ‘가독성’과 ‘중복 제거’에 집중합니다. [네이밍 센스] 요청은 개발자들이 가장 어려워하는 ‘이름 짓기’ 고통을 덜어줍니다. [Before & After] 비교는 좋은 코드의 패턴을 익히는 최고의 학습 자료가 됩니다.
📊 증명: Before & After
❌ Before (입력)
def calc(x, y):
if x > 19:
print("성인")
p = y * 0.9
return p
else:
print("학생")
return y(함수명 calc는 뭘 계산하는지 모르겠고, p도 의미 불명)
✅ After (프롬프트 결과)
def calculate_discounted_price(age, price):
ADULT_AGE_THRESHOLD = 20
DISCOUNT_RATE = 0.9
if age >= ADULT_AGE_THRESHOLD:
print("성인입니다.")
return price * DISCOUNT_RATE
print("학생입니다.")
return price[개선 포인트]
- 함수명 변경:
calc->calculate_discounted_price(할인 가격 계산임이 명확해짐) - 매직 넘버 제거:
19,0.9같은 숫자를 상수로 선언하여 의미 부여. - 불필요한 else 제거: Early Return 패턴을 사용하여 들여쓰기 깊이를 줄임.
🚨 트러블 슈팅 (안 될 땐 이렇게!)
Q. 코드가 너무 많이 바뀌어서 못 알아보겠어요. A. *“너무 급격한 변화는 싫어. 변수명 변경과 들여쓰기 정리 같은 기초적인 리팩토링만 해 줘”*라고 요청하세요.
🎯 결론
잘 짠 코드는 잘 쓴 수필처럼 술술 읽힙니다. 미래의 나(그리고 동료)를 위해 코드를 청소하세요.
이제 칼퇴하고 샤워하세요. 코드 말고 몸이요. 🍷