반응형
# Before
def print_owing(invoice):
print_banner()
outstanding = calculate_outstanding()
# 세부 사항 출력
print(f'고객명: {invoice.customer}')
print(f'채무액: {outstanding}')
# After
def print_owing(invoice):
def print_detail(outstanding):
print(f'고객명': {invoice.customer})
print(f'채무액': {outstanding})
print_banner()
outstanding = calculate_outstanding()
print_details(outstanding)
배경
코드를 언제 묶어야 하나?
- 길이
- 재사용성
- 목적과 구현을 분리하는 방식
함수를 짧게 만들면 성능이 느려지나?
요즘은 그럴일이 없다. 함수가 짧으면 캐싱하기가 더 쉽게 때문에 컴파일러가 최적화하는 데 더 유리할 때가 많다.
짧은 함수의 이점을 취하려면?
이름을 잘지어야 한다. 해당 코드 덩어리를 추출한 함수의 이름을 지을 때 주석을 참고하자.
반응형
'개발 > 리팩토링' 카테고리의 다른 글
[리팩토링 2판 파이썬 코드로 변경해보기] 3탄 함수 쪼개기, 변수명 변경 (0) | 2021.01.09 |
---|---|
[리팩토링 2판 파이썬 코드로 변경해보기] 2탄 statement() 테스트 코드 추가 (0) | 2021.01.09 |
[리팩토링 2판 파이썬 코드로 변경해보기] 1탄 기본 코드 세팅 (0) | 2021.01.09 |
함수 인라인하기 (Inline Function) (0) | 2021.01.05 |