보다시피 불 원시값과 비교하는 부분이 사라졌습니다. 의미가 바뀌면 안 되니 microscope.isHumanoid(sample) 표현식에 부정(!) 연산자를 사용했습니다. 나머지 코드는 그대로입니다. 이제 조건 표현식이 좀 더 쉽게 읽힙니다.
어떤 컴파일러든 이렇게 제거합니다. 실제로 실행해보면 두 코드는 차이가 없을 거예요. 코드 가독성만 좋아졌죠. 여기서는 짧은 코드를 살짝 수정했지만 커다란 코드 기반을 다룬다고 상상해 보세요. 가독성을 조금씩 향상시키는 여러 변경이 모여 큰 도움이 됩니다!
다음 페이지에 설명할 1.2 부정 피하기까지 고려하면 조건문을 더 개선할 수 있습니다. 그러니 계속 따라 오세요!
⟫ 메서드에서 단일 반환문 대 다중 반환문
메서드 안에 ‘반환’문이 하나인 것과 여러 개인 것 중 무엇이 더 나은지 논하는 데 기나긴 개발 시간을 쏟아 왔습니다(라고 쓰고 낭비해왔다고 읽읍시다). 궁극적으로 옳거나 그른 것은 없습니다. 반환문이 나오면 메서드는 무조건 종료됩니다. 종료 지점이 하나이면 어디서 끝날지 항상 알고 있으니 제어 흐름이 더 구조적입니다. 하지만 입력 매개변수가 유효하지 않는 등 메서드를 일찍 종료하고 싶을 수 있습니다. 이럴 때는 코드가 더 적게 드는 다중 반환문을 사용합니다. 책 속 공간은 항상 제한되어 있으니 더욱 좋죠. 코드에 초기 종료가 필요한지 확인해보고 맞았다면 다중 반환문을 사용하세요.