[Chapter 06] 부정의 의미가 포함된 메서드 네이밍 #44
-
89 페이지에는 조기 반환(early return)을 소개하면서 if (!member.canAct()) {
// (...)
} 하지만 어떤 개발자는 다음처럼 리팩터링할 수도 있지 않을까요? if (member.cannotAct()) {
// (...)
} NOT 논리 연산자인 만약 여러분이 어떤 팀을 이끄는 리더일 때, 팀원 A, B 가 위에 소개한 두 방식을 주장하면서 첨예하게 대립한다면 어떤 결정을 내리실 건가요? |
Beta Was this translation helpful? Give feedback.
Replies: 3 comments
-
긍정적 의미가 포함된 메서드를 더 선호합니다. |
Beta Was this translation helpful? Give feedback.
-
메서드 네이밍이 부정을 담고 있는 것 보다는 긍정문을 통해
|
Beta Was this translation helpful? Give feedback.
-
제가 리더라면.. 쓰고싶은대로 쓰라고 할 것 같습니다. 일단 |
Beta Was this translation helpful? Give feedback.
메서드 네이밍이 부정을 담고 있는 것 보다는 긍정문을 통해
!
를 이용하여 논리를 전개하는게 더 좋아보입니다.총 두가지 이유가 있습니다.
!
가 들어간다면 인간의 뇌가 인지하는데는 불편함을 초래합니다. (@snoopingh 과 의견이 같습니다.)회원이 움직일 수 없는가?
에 대한 부정문인회원이 움직일 수 있는가?
입니다.cannotAct()
의 네이밍이 부정문이라는 점에서 인식시점에!
를 달고 생각을 해야 한다는 점이 아쉬운 점으로 지목되는 이유인 것 같습니다.결과적으로 ! 를 한번 더 생각해야하는 부정문 같은 경우는 사용하기 전에 한번 더 생각해 보는 것도 좋을 것 같습니다.