오해할 수 없는 이름들

Lee Seung Jae·2021년 5월 28일
1

오해할 수 없는 이름들

사람마다 해석하는 것이 다를 수 있기때문에 다른 사람들이 내가 의도하는 뜻과 다르게 해석할 수 있을까? 라는 가능성을 열어두고 확인을 해야한다.

  • filter()
    • filter의 의미가 어떤 조건을 고르는 것인지, 제거하는 것인지 알기 모호하다.
      그래서 고르는 것이라면 select()를, 제거하는 것이라면 exclude()가 낫다.

경계를 포함하는 한계값을 다룰 때는 min과 max를 사용해라

최대치의 변수값을 limit이라고 잡게되면 limit의 끝이 어딘지 가늠이 되지를 않는다.
이것이 그 수까지인지, 또는 해당 하는 수를 포함하며 그 수 까지인지를 모른다.
그래서 이름앞에 max, min을 붙이는 것이다.

경계를 포함하는 범위엔 first, last 사용

위에서는 그수까지를 알아봤는데 여기는 해당 하는 수를 포함하며 그 수 까지의 예이다.
stop은 조금 모호할 수 있는데 last는 포함된다는 느낌이 좀 더 뚜렷하다.

경계를 포함하고/배제하는 범위에는 begin, end를 사용

포함과 배제가 동시에 일어날 때는 begin/end를 사용하는 프로그래밍 관행이 있다고 책에서 설명한다.

boolean변수 이름 붙이기

boolean변수 또는 값을 반환하는 메소드에 이름을 붙일 때 코드를 짜면서 머리로 생각을 하는데
이게 참이냐? 라고 되뇌이면서 변수를 선언했어서 isTrue? 식으로 True대신 다른 boolean변수를 넣어서 개발을 진행했다. 그러니까 is, has, use 이런 되묻는식의 단어를 사용하는 것이 좋다.
그리고 부정적인 단어는 지양한다.

사용자의 기대에 부흥하기

get, size처럼 java에서는 getter, size는 list의 총 길이를 반환하는 메소드로 정의가 되어있다.
그렇기 때문에 이 계산이 그것과 비슷하게 간단한 것인줄로 착각하고 그냥 쓰는 경우도 있다.
그렇기 때문에 이런 메소드 대신 좀 더 길게 단어를 정하거나 아니면 피해서 다른 이름을 지어주는 것이 베스트일 것 같다.

3장까지 읽으니 계속 공통된 생각만 머릿속에 스며든다. 어찌됐던 하나하나 세세하게 정의를 내려 설명을 해주고 있는 책이지만, 내 머릿속에는 누군가가 읽었을 때 읽기 좋은 것이 좋은 코드라는 제목 값을 하는 책이라고 생각이 들고 또 개발할 때 이렇게 따져가며 해야겠다고 생각한다.

profile
💻 많이 짜보고 많이 경험해보자 https://lsj8367.tistory.com/ 블로그 주소 옮김

0개의 댓글