avoid_bool_literals_in_conditional_expressions

avoid_bool_literals_in_conditional_expressions

Dart 분석기(analyzer)가 만들어 내는 'avoid_bool_literals_in_conditional_expressions' 진단에 대한 설명이에요. bool 리터럴이 들어간 삼항(조건) 표현식을 단순화할 수 있다는 규칙이에요.

출처: avoid_bool_literals_in_conditional_expressions

본문

설명

분석기는 삼항(조건) 표현식이 bool 리터럴을 사용하면서 두 분기가 모두 bool일 때 이 진단을 만들어 내요. 이런 표현식은 &&||를 써서 단순화할 수 있어요.

예시

다음 코드는 then 분기가 bool 리터럴 true이기 때문에 이 진단이 발생해요:

bool f(bool a, bool b) => a ? true : b;

다음 코드는 else 분기가 bool 리터럴 false이기 때문에 이 진단이 발생해요:

bool f(bool a, bool b) => a ? b : false;

일반적인 수정 방법

삼항 표현식을 이에 해당하는 논리 표현식으로 바꿔요. then 분기가 bool 리터럴이라면 다음 중 하나로 교체해요:

bool f(bool a, bool b) => a || b; // replaces: a ? true : b
bool g(bool a, bool b) => !a && b; // replaces: a ? false : b

else 분기가 bool 리터럴이라면 다음 중 하나로 교체해요:

bool f(bool a, bool b) => !a || b; // replaces: a ? b : true
bool g(bool a, bool b) => a && b; // replaces: a ? b : false

더 알아보기