더북(TheBook)

이 로직을 반복 적용하려면 (이 예제처럼 단지 두세 번에 불과할지라도) 꼭 도우미 함수를 작성해야 한다.

def get_first_int(values, key, default=0):
    found = values.get(key, [''])
    if found[0]:
        return int(found[0])
    return default

도우미 함수 호출을 사용해 작성한 코드는 앞에서 본 복잡한 버전이나 두 줄짜리 if/else 식 버전보다 훨씬 명확하다.

green = get_first_int(my_values, '초록')

식이 복잡해지기 시작하면 바로 식을 더 작은 조각으로 나눠서 로직을 도우미 함수로 옮길지 고려해야 한다. 여러분이 아무리 짧게 줄여 쓰는 것을 좋아한다 해도, 코드를 줄여 쓰는 것보다 가독성을 좋게 하는 것이 더 가치 있다. 복잡한 식을 표현할 수 있는 파이썬의 함축적인 문법이 이런 지저분한 코드를 만들어내지 않도록 하라. ‘반복하지 말라(Don’t Repeat Yourself)’는 뜻의 DRY 원칙을 따르라.

기억해야 할 내용

• 파이썬 문법을 사용하면 아주 복잡하고 읽기 어려운 한 줄짜리 식을 쉽게 작성할 수 있다.

• 복잡한 식을 도우미 함수로 옮겨라. 특히 같은 로직을 반복해 사용할 때는 도우미 함수를 꼭 사용하라.

• 불(boolean) 연산자 orand를 식에 사용하는 것보다 if/else 식을 쓰는 편이 더 가독성이 좋다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.