2장 - 좋은 작명을 위해선 책을 많이읽어야 한다

길고 꾸준하게·2022년 4월 24일
0

CleanCode

목록 보기
2/5

의미있는 이름 짓기

2장의 제목이다.
생각해보면 코드를 짤때 이름짓는시간은 상~당히 많다. 변수선언이나 함수선언 등등
1장에서 말했듯이 남이봐도 이해할수있는 이름이 좋은 이름이라고 했다. 그래서 2장에는 그 좋은이름을 짓는 방법을 소개한다. 적은것 외에도 여러가지가 있었지만 내가 확실하게 이해한것들만 적었다

의도를 분명하게

이름 그대로다. 변수선언시 어떤 정보를 저장할건지 의도를 명확하게 전달하기 위한 이름을 지으라. 이렇게 이해했다

의미있게 구분 + 불필요한 맥락 제거

책에 예시에는 Customer변수와 CustomerInfo 변수 2개가 있는데. CustomerInfo라고 할 이유가 있냐 이런 느낌을 풍겼다.
나도 변수를짤때 ~~Info나 ~~Data나 이렇게 작명했었는데 지금와서 생각해보면 굳이? 라는 생각이 들긴한다.

발음 + 검색하기 쉽게

항상 내가아닌 다른사람이 봤을때를 생각해야한다 다른사람이 봤을때 나만의 언어로 축약해서 적거나, 이러면 알아들을수도 없을 뿐더러 발음도 못할거다

obj나 클래스 등은 '명사' 메소드 등은 '동사'

어쩌면 당연한거다 하지만 위에도 말했지만 ~Info, ~Data이런식의 작명은 피해야겠지?
그리고 메소드를 정의할때 javabean에 맞춰서 get,set,is를 쓰는게 좋다고한다.

한단어에는 하나의 의미만

숫자를 더해서 return해주는 add라는 메소드가 있다. 하지만 뭔가를 쌓는느낌의 메소드 역시 'add'라고 작명을한다면 한단어에 2가지의 의미가 담기게된다 이는 나중에 혼란을 줄수도 있다.

한개념에는 한가지 단어만

위랑 중복일수도 있겠지만 약간은 다른느낌이다.
controller,manager,driver 개념적으로 비슷한단어 3개가 있다.
A에선 ~ controller B에선 ~ manager 이런식 보다는 하나로 통일하는게 좋다고한다.

3줄요약

  • 좋은 이름을 짓기위해서는 책을 많이읽어야 할것같다..
  • 의미-단어의 1:1매치, 같은의미라면 매칭한 그 단어만 쓰자
  • ~Data ~Info 이런식의 불필요한 맥락은 제거하자

평소에 책좀 많이 읽어야지 좋은 작명도 할수있는거구나... 아..

profile
작은 나의 개발 일기장

0개의 댓글