노마드개발자북클럽/CleanCode

CleanCode(클린코드) Chapter2 - 의미 있는 이름

개발자_옹이양 2022. 1. 26. 01:24

DAY 3~4

🔖 오늘 읽은 범위 : 2장. 의미 있는 이름


😃 책에서 기억하고 싶은 내용.

  • 변수의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말
  • 프로그래머는 스스로 문제를 일으킨다. 다른 두개념에 같은 이름을 사용하지 못한다.
  • 발음하기 쉬운 이름을 사용
  • 클래스와 함수는 점차 작아지는 추세다 즉 변수를 선언한 위치와 사용하는 위치가 멀지 않다.
  • 코드를 컴파일하지 않고도 타입 오류를 감지할 정도로 발전했다. 그러므로 헝가리식 표기법이나 기타 인코딩 방식이 오히려 방해가 될 뿐이다.
  • 인터페이스 클래스 이름과 구현 클래스 이름 중 하나를 인코딩해야 한다면 구현 클래스 이름을 택하겠다.
  • 클래스이름은 명사나 명사구 Manager, Processor, Data, Info 등과 같은 단어는 피하고, 동사는 사용하지 않습니다.
  • 메서드 이름은 동사나 동사구가 적합
  • 모든 방법이 실패하면 마지막 수단으로 접두어를 붙인다. 불필요한 맥락을 없애라 accountAddress, customerAddress는 Address 클래스 인스턴스로는 좋은예이나 클래스 이름으로는 적합하지 못하다. Address는 클래스 이름으로 적합하다. 포트주소, MAC 주소, 웹 주소를 구분해야 한다면 PostalAddress, MAC, URI라는 이름도 괜찮다.
  • 좋은 이름을 선택하려면 설명 능력이 뛰어나야 하고 문화적인 배경이 같아야 한다. 좋은 이름을 선택하는 능력은 기술, 비즈니스, 관리 문제가 아니라 교육 문제다. 우리 분야 사람들이 이름 짓는 방법을 제대로 익히지 못하는 이유가 바로 여기에 있다.
  • 여느 코드 개선 노력과 마찬가지로 이름 역시 나름대로 바꿨다가는 누군가 질책할지도 모른다. 그렇다고 코드를 개선하려는 노력을 중단해서는 안 된다.

🤔 오늘 읽은 소감은? 떠오르는 생각

  • 코드 개선을 하고자한다면 누군가가 질책해도 너무 마음 상하지 말자. 배워가는 것이다.
  • 좋은 이름을 선택하려면 설명 능력이 뛰어나야 한다. 마찬가지로 어휘도 많이 알아야 하는데, 문화적인 부분도 도외시 하면 안되겠다.

📝소감 3줄 요약

  • 코드만 짜는 것이 아닌 문화적인 부분도 많이 체험하자
  • 질책할지 모른다고 코드 개선의 노력을 포기하지 말자
  • 변수의 존재이유, 수행 기능, 사용 방법에 따라 의도를 분명히 드러내도록 이름을 짓자