Chapter 27: 코드 리팩토링 - 더 좋은 코드로 발전시키기¶
🎯 이 장에서 배우는 것¶
- [ ] 리팩토링이 무엇인지 설명할 수 있다
- [ ] 반복되는 코드를 함수로 정리할 수 있다
⏱️ 예상 학습 시간: 약 15분
📚 핵심 개념¶
개념: 리팩토링(Refactoring)¶
비유로 시작해요 🏠
리팩토링은 마치 방 정리와 같아요.
물건은 그대로인데, 정리하면 찾기 쉽고 깔끔해지죠!
정확한 정의:
리팩토링 = 코드의 동작은 그대로, 구조만 개선하는 것
flowchart LR
A[🔧 지저분한 코드] --> B[✨ 리팩토링] --> C[💎 깔끔한 코드]
style A fill:#ffcdd2
style B fill:#fff9c4
style C fill:#c8e6c9
🔨 따라하기¶
Step 1: 반복되는 코드 발견하기¶
Before (반복 코드) ❌:
print("=" * 20)
print("철수님 환영합니다")
print("=" * 20)
print("=" * 20)
print("영희님 환영합니다")
print("=" * 20)
Step 2: 함수로 정리하기¶
After (리팩토링) ✅:
def welcome(name):
print("=" * 20)
print(f"{name}님 환영합니다")
print("=" * 20)
welcome("철수")
welcome("영희")
실행 결과:
====================
철수님 환영합니다
====================
====================
영희님 환영합니다
====================
💡 결과는 똑같지만, 코드는 훨씬 깔끔해졌어요!
📝 전체 코드¶
# 리팩토링 예제: 반복 코드를 함수로!
def welcome(name):
"""환영 메시지 출력"""
print("=" * 20)
print(f"{name}님 환영합니다")
print("=" * 20)
# 사용
welcome("철수")
welcome("영희")
welcome("민수")
⚠️ 주의할 점¶
| 잘못된 리팩토링 | 올바른 리팩토링 |
|---|---|
| 동작이 바뀜 | 동작은 그대로 유지 |
| 한 번에 다 바꿈 | 조금씩 점진적으로 |
✅ 점검하기¶
- 리팩토링의 목적은?
정답 확인
동작은 유지하면서 코드 구조를 개선하는 것- 반복 코드는 어떻게 정리하나요?
정답 확인
함수로 만들어서 재사용한다🔗 다음 장 미리보기¶
축하해요! 🎉 리팩토링으로 코드 품질을 높이는 법을 배웠어요.
다음 장에서는 미니 프로젝트로 지금까지 배운 것을 종합해볼 거예요!