콘텐츠로 이동

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("민수")

⚠️ 주의할 점

잘못된 리팩토링 올바른 리팩토링
동작이 바뀜 동작은 그대로 유지
한 번에 다 바꿈 조금씩 점진적으로

✅ 점검하기

  1. 리팩토링의 목적은?
정답 확인 동작은 유지하면서 코드 구조를 개선하는 것
  1. 반복 코드는 어떻게 정리하나요?
정답 확인 함수로 만들어서 재사용한다

🔗 다음 장 미리보기

축하해요! 🎉 리팩토링으로 코드 품질을 높이는 법을 배웠어요.
다음 장에서는 미니 프로젝트로 지금까지 배운 것을 종합해볼 거예요!