do_not_use_environment 린트 규칙

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 문서에서 확인할 수 있어요.