주니어 개발자의 경우 불 값으로 이루어진 조건문도 비교 연산자를 사용하여 구현하는 경우가 종종 있다. 그러나 이러한 방식의 비교는 불필요한 코드를 양산하는 행위이다.
if (microscope.isInorganic(sample) == true) {
return Result.INORGANIC;
}
위의 코드는 불 반환값과 불 원시 타입(true / false) 을 비교한다. 초보자 코드에서 종종 발견되는 안티 패턴(anti-pattern)이다.
불이 아닌 다른 데이터 타입으로 논리 조건문을 만들 때는 실제값과의 비교 연산이 필요하지만, 불 변수나 반환 타입은 그럴 필요가 없다.
if (microscope.isInorganic(sample)) {
return Result.INORGANIC;
}
위의 코드처럼 불 원시값과 비교하는 부분을 제거하여 불필요한 코드를 줄이고 가독성을 향상시킬 수 있다.
간단한 수정처럼 보일 수 있으나 커다란 코드 기반을 다루는 경우 이렇게 가독성을 조금씩 향상시키는 여러 변경이 모이면 큰 도움이 된다!