avoid_positional_boolean_parameters 진단: bool 매개변수는 이름 있는 매개변수로 써야 할 때
avoid_positional_boolean_parameters 진단: bool 매개변수는 이름 있는 매개변수로 써야 할 때
Dart 분석기가 내보내는 진단에는 이름이 있어요. avoid_positional_boolean_parameters는 오버라이딩하지 않는 공개 함수(public function)에 두 개 이상의 위치 기반(positional) bool 매개변수가 있을 때 Dart 분석기가 알려주는 린트(lint) 진단이에요. 호출하는 쪽에서 혼란을 줄 수 있어요.
본문
설명
분석기는 오버라이딩하지 않는 공개 함수에 타입이 bool인 위치 기반 매개변수가 두 개 이상 있을 때 이 진단을 만들어요.
위치 기반 Boolean 매개변수가 여러 개 있는 함수는 호출 지점(call site)에서 모호함의 원인이 될 수 있어요. 지정된 Boolean 값만으로는 그 목적이 명확하지 않을 수 있기 때문이에요. 이름 있는 매개변수(named parameter)는 의도를 명확하게 드러내 줘요.
예시
다음 코드는 함수 f에 타입이 bool인 위치 기반 매개변수가 두 개 있기 때문에 이 진단을 만들어요.
void f(bool a, bool b) {}
흔한 해결 방법
모든 위치 기반 매개변수를 이름 있는 매개변수로 바꿔요(하나는 예외로 남겨도 괜찮아요).
void f(bool a, {bool b = false}) {}