avoid_positional_boolean_parameters 진단: bool 매개변수는 이름 있는 매개변수로 써야 할 때

avoid_positional_boolean_parameters 진단: bool 매개변수는 이름 있는 매개변수로 써야 할 때

Dart 분석기가 내보내는 진단에는 이름이 있어요. avoid_positional_boolean_parameters오버라이딩하지 않는 공개 함수(public function)에 두 개 이상의 위치 기반(positional) bool 매개변수가 있을 때 Dart 분석기가 알려주는 린트(lint) 진단이에요. 호출하는 쪽에서 혼란을 줄 수 있어요.

출처: avoid_positional_boolean_parameters

본문

설명

분석기는 오버라이딩하지 않는 공개 함수에 타입이 bool인 위치 기반 매개변수가 두 개 이상 있을 때 이 진단을 만들어요.

위치 기반 Boolean 매개변수가 여러 개 있는 함수는 호출 지점(call site)에서 모호함의 원인이 될 수 있어요. 지정된 Boolean 값만으로는 그 목적이 명확하지 않을 수 있기 때문이에요. 이름 있는 매개변수(named parameter)는 의도를 명확하게 드러내 줘요.

예시

다음 코드는 함수 f에 타입이 bool인 위치 기반 매개변수가 두 개 있기 때문에 이 진단을 만들어요.

void f(bool a, bool b) {}

흔한 해결 방법

모든 위치 기반 매개변수를 이름 있는 매개변수로 바꿔요(하나는 예외로 남겨도 괜찮아요).

void f(bool a, {bool b = false}) {}

더 알아보기