중간 값을 함수 호출에 직접 전달하는 대신 항상 로컬 변수에 할당하는 이유

Linda Hamilton
풀어 주다: 2024-09-27 06:22:29
원래의
1107명이 탐색했습니다.

Why I always assign intermediate values to local variables instead of passing them directly to function calls

대신

def do_something(a, b, c):
    return res_fn(
        fn(a, b),
        fn(b),
        c
    )
로그인 후 복사

그렇습니다:

def do_something(a, b, c):
    inter_1 = fn(a, b)
    inter_2 = fn(b)

    result = res_fn(inter_1, inter_2, c)
    return result
로그인 후 복사

첫 번째 버전은 훨씬 더 짧으며 올바른 형식을 지정하면 똑같이 읽을 수 있습니다.

하지만 제가 두 번째 접근 방식을 선호하는 이유는 모든 중간 단계가 지역 변수에 저장되기 때문입니다.

Sentry와 같은 예외 추적 도구와 DEBUG=True가 설정된 경우 팝업되는 Django의 오류 페이지도 로컬 컨텍스트를 캡처합니다. 게다가 디버거를 사용하여 함수를 단계별로 실행해야 하는 경우 함수에서 나가기 전에 정확한 반환 값을 확인할 수 있습니다. 최종 결과를 반환하기 직전까지 로컬 변수에 저장하는 이유도 바로 여기에 있습니다.

두어 개의 추가 변수 할당과 몇 줄의 추가 코드로 인한 성능 비용으로 인해 디버깅이 훨씬 쉬워집니다.

위 내용은 중간 값을 함수 호출에 직접 전달하는 대신 항상 로컬 변수에 할당하는 이유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿