Env Config

환경 변수는 실행 시점 설정을 코드 변경 없이 바꾼다

테스트와 실행 환경에서 CASE_INSENSITIVE 같은 값을 읽어 동작 옵션을 전환할 수 있다.

환경 변수 적용 흐름

runtime config

테스트 작성

대소문자 무시 검색이 필요한 동작을 먼저 실패하는 테스트로 고정한다.

설정 읽기

env::var로 실행 환경에 있는 값을 읽고 없을 때의 기본값을 정한다.

분기

설정값에 따라 일반 검색과 대소문자 무시 검색 중 하나를 선택한다.

실행

명령 앞에 환경 변수를 붙여 같은 바이너리의 동작을 바꿀 수 있다.

testenvbranchsearch
읽는 법

환경 변수는 코드 안 상수가 아니라 실행 환경의 입력이므로, 없거나 잘못된 값일 때의 기본 동작까지 함께 설계해야 한다.