do_not_use_environment 린트 규칙
do_not_use_environment 린트 규칙
컴파일 시점 환경 변수에서 값을 가져오는 패턴을 피하도록 돕는 린트 규칙이에요.
본문
컴파일 시점에 환경(environment)에서 파생된 값을 사용하면 숨겨진 전역 상태가 생겨서 애플리케이션을 이해하고 유지보수하기 어려워져요.
fromEnvironment이나 hasEnvironment 팩토리 생성자를 사용하지 마세요.
나쁜 예
const loggingLevel =
bool.hasEnvironment('logging') ? String.fromEnvironment('logging') : null;
bool.hasEnvironment('logging')과 String.fromEnvironment('logging')으로 컴파일 타임 환경 변수를 직접 읽고 있죠.
활성화 방법
이 규칙을 활성화하려면 analysis_options.yaml 파일의 linter > rules 아래에 do_not_use_environment을 추가하면 돼요.
linter:
rules:
- do_not_use_environment
linter > rules를 YAML map 문법으로 작성한다면 do_not_use_environment: true처럼 불리언 값을 지정해도 되고요.
linter:
rules:
do_not_use_environment: true
더 알아보기
컴파일 타임 환경보다는 런타임 설정이나 const 값을 명시적으로 전달하는 쪽이 더 유지보수하기 쉬워요. 린트 규칙 전체 목록은 공식 Linter rules 문서에서 확인할 수 있어요.