반응형
# Before
def get_rating(driver):
return 2 if more_than_five_late_deliveries(driver) else 1
def more_than_five_late_deliveries(driver):
return 2 if driver.number_of_late_deliveries > 5 else 1
# After
def get_rating(driver):
return 2 if driver.number_of_late_deliveries else 1
배경
언제 적용하면 될까?
-
함수 본문이 이름만큼 명확할 때 인라인을 하자.
-
간접 호출을 너무 과하게 쓰는 것도 흔한 인라인 대상
-
단순히 위임하기만 하는 함수들이 너무 많아서 위임관계가 복잡히 얽혀 있으며 인라인 한다.
반응형
'개발 > 리팩토링' 카테고리의 다른 글
[리팩토링 2판 파이썬 코드로 변경해보기] 3탄 함수 쪼개기, 변수명 변경 (0) | 2021.01.09 |
---|---|
[리팩토링 2판 파이썬 코드로 변경해보기] 2탄 statement() 테스트 코드 추가 (0) | 2021.01.09 |
[리팩토링 2판 파이썬 코드로 변경해보기] 1탄 기본 코드 세팅 (0) | 2021.01.09 |
함수 추출하기 (Extract Function) (0) | 2020.12.20 |