Skip to content

[Chapter 06] 부정의 의미가 포함된 메서드 네이밍 #44

Discussion options

You must be logged in to vote

메서드 네이밍이 부정을 담고 있는 것 보다는 긍정문을 통해 ! 를 이용하여 논리를 전개하는게 더 좋아보입니다.

총 두가지 이유가 있습니다.

  1. 자바에서 사용되는 리턴 타입이 부울 타입인 메서드의 네이밍 대부분은 긍정문으로 대부분 구성되어 있습니다. (isEmpty, isBlank)
  2. 부정문에 !가 들어간다면 인간의 뇌가 인지하는데는 불편함을 초래합니다. (@snoopingh 과 의견이 같습니다.)
if (!member.cannotAct()) {
    // (...)
}
  • 위의 if을 구문대로 해석해보면 회원이 움직일 수 없는가? 에 대한 부정문인 회원이 움직일 수 있는가? 입니다.
  • cannotAct()가 반환하는 true, false에 따라 해석할 수 있는 여지가 다르지만 cannotAct()의 네이밍이 부정문이라는 점에서 인식시점에 !를 달고 생각을 해야 한다는 점이 아쉬운 점으로 지목되는 이유인 것 같습니다.

결과적으로 ! 를 한번 더 생각해야하는 부정문 같은 경우는 사용하기 전에 한번 더 생각해 보는 것도 좋을 것 같습니다.

여담으로 첨예한 대립을 이어나가고 있다면 지켜보는게 즐거울 것 같습니다. 😁

Replies: 3 comments

Comment options

You must be logged in to vote
0 replies
Comment options

You must be logged in to vote
0 replies
Answer selected by corock
Comment options

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chapter06 조건 분기: 미궁처럼 복잡한 분기 처리를 무너뜨리는 방법
4 participants