TIL

[노마드코더 북클럽] 클린코드 2. 의미있는 이름

비아 VIA 2022. 2. 20. 21:50

오늘 읽은 범위

2장. 의미있는 이름

책에서 기억하고 싶은 내용을 써보세요.

  • 의도를 분명히 밝혀라
    변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.
  • 그릇된 정보를 피하라
    - 나름대로 널리 쓰이는 의미가 있는 단어를 다른 의미로 사용해도 안된다.(ex hp, ais, sco는 유닉스 플랫폼이나 유닉스 변종을 가리키는 이름)
    - 실제 List가 아니라면 accountList로 명명하지 않는다.
    - 서로 흡사한 이름을 사용하지 않도록 주의한다.(ex. XYZControllerForEfficientHandlingOfString, XYZControllerForEfficientStorageOfStrings)
  • 의미있게 구분하라(ex. theMessage는 message와 구분이 안된다
  • 발음하기 쉬운 이름을 사용하라
  • 검색하기 쉬운 이름을 사용하라
  • 인코딩을 피하라
  • 자신의 기억력을 자랑하지 마라(한글자 X)
  • 클래스 이름과 객체 이름은 명사나 명사구가 적합하다.
  • 메서드 이름은 동사나 동사구가 적합하다
  • 기발한 이름은 피하라
  • 한 개념에 한 단어를 사용하라
  • 한 단어를 두 가지 목적으로 사요하지 마라. 다른 개념에 같은 단어를 사용한다면 그것은 말장난에 불과하다
  • 해법 영역에서 가져온 이름을 사용하라
  • 문제 영역에서 가져온 이름을 사용하라
  • 의미있는 맥락을 추가하라
  • 불필요한 맥락을 없애라

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 개발자가 코드를 작성할 때 가장 어려워하는 일 중 하나가 변수명을 작성하는 일 같다. 책을 읽으며 의미있는 이름을 위한 리스트를 써내려가다보니 변수명을 정하는게 어려운 일이라는 것이 실감났다. 확실히 변수명이 이상하면 코드를 이해하기 어려운 것 같다. 다른 개발자들이 고통받지 않도록 좋은 변수명을 만들 수 있도록 애써야겠다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 불용어: 인터넷 검색 시 검색 용어로 사용하지 않는 단어. 관사, 전치사, 조사, 접속사 등 검색 색인 단어로 의미가 없는 단어이다. 다만 각 검색 엔진마다 동일하지 않기 때문에 다를 수도 있다.
    출처: IT용어사전(https://terms.naver.com/list.naver?cid=42346&categoryId=42346)