728x90

이 강의는 파이썬 강의 46강입니다.
이전 강의에서는 데이터 구조를 설계하는 방법을 배웠습니다.
이번 강의에서는 이미 동작하는 코드를
더 읽기 좋고, 관리하기 쉽게 바꾸는 작업,
즉 리팩토링(refactoring)을 배웁니다.
리팩토링이란 무엇인가
리팩토링은
기능은 그대로 두고 코드 구조만 개선하는 작업입니다.
중요한 점은 이겁니다.
- ❌ 새로운 기능 추가 아님
- ❌ 버그 수정 아님
- ⭕ 같은 결과, 더 좋은 코드
1️⃣ 왜 리팩토링이 필요한가
처음 짠 코드는
대부분 이런 특징을 가집니다.
- 코드가 길다
- 같은 코드가 반복된다
- 변수 이름이 애매하다
하지만 이건 실력 부족이 아니라 정상적인 과정입니다.
그래서 리팩토링이 필요합니다.
2️⃣ 리팩토링 전 코드 예시
아래 코드를 봅니다.
score1 = 90
score2 = 80
score3 = 70
total = score1 + score2 + score3
avg = total / 3
print(avg)
동작은 하지만
확장하기가 매우 어렵습니다.
3️⃣ 자료구조로 리팩토링
관련된 값들을
리스트로 묶습니다.
scores = [90, 80, 70]
total = sum(scores)
avg = total / len(scores)
print(avg)
코드가 짧아지고
의도가 명확해졌습니다.
4️⃣ 함수로 리팩토링
역할을 함수로 분리합니다.
def average(scores):
return sum(scores) / len(scores)
scores = [90, 80, 70]
print(average(scores))
- 재사용 가능
- 테스트 쉬움
- 수정 범위 최소화
5️⃣ 이름만 바꿔도 리팩토링이다
리팩토링은
큰 변화만 의미하지 않습니다.
# before
def f(x):
return x * 2
# after
def double(number):
return number * 2
의미가 드러나는 이름은
그 자체로 리팩토링입니다.
6️⃣ 리팩토링 체크리스트
아래 질문에
“예”가 나오면 리팩토링 대상입니다.
- 같은 코드가 2번 이상 반복되는가?
- 변수/함수 이름이 애매한가?
- 한 함수가 너무 많은 일을 하는가?
- 나중에 다시 읽기 힘든가?
7️⃣ 리팩토링은 언제 하는가
리팩토링은
코드를 다 짠 뒤에 합니다.
❌ 쓰면서 동시에 고치기
⭕ 동작 확인 → 그 다음 개선
이 순서가 중요합니다.
8️⃣ 실습 예제
아래 코드를
리팩토링해보세요.
a = 100
b = 30
c = a - b
print(c)
더보기
힌트: 변수 이름, 함수 분리
이번 강의 핵심 정리
- 리팩토링은 기능 변경이 아니다
- 코드를 더 읽기 좋게 만든다
- 자료구조와 함수는 리팩토링의 핵심 도구다
- 이름만 바꿔도 리팩토링이다
728x90
'⚙️ Python > 💻 Python 기초' 카테고리의 다른 글
| [Python] 48강 데이터 저장형 콘솔 프로그램 구조 만들기 (0) | 2026.01.14 |
|---|---|
| [Python] 47강 메뉴형 콘솔 프로그램 구조 만들기 (0) | 2026.01.13 |
| [Python] 45강 데이터 구조를 다시 설계하는 방법 (0) | 2026.01.12 |
| [Python] 44강 상태(state) 개념 이해하기 (0) | 2026.01.12 |
| [Python] 43강 프로그램 설계 사고방식 (코드보다 먼저 생각하기) (0) | 2026.01.11 |