[노개북] 클린코드 DAY 3 - 의미 있는 이름

danbi lee·2025년 7월 6일

개발자북클럽

목록 보기
13/21

TIL 3줄 요약

소프트웨어에서 이름은 변수, 함수, 클래스, 패키지 등등 어디나 쓰인다. 우리들 대다수는 자신이 짠 클래스 이름과 메서드 이름을 모두 암기하지 못한다. 이름을 붙이는 이유가 뭐지 생각해보자. 이름을 잘 지으면 여로모로 편하다.

TIL 날짜

2025.07.06

오늘 읽을 범위

  • 의미 있는 이름

책에서 기억하고 싶은 내용

의도를 분명히 밝혀라

  • 문제는 코드의 단순성이 아니라 코드의 함축성이다. 다시 말해, 코드 맥락이 코드 자체에 명시적으로 드러나지 않는다.

그릇된 정보를 피하라

  • 서로 흡사한 이름을 사용하지 않도록 주의한다.
  • 십중팔구 개발자(객체에 달린 상세한 주석이나 클래스가 제공하는 메서드 목록을 살펴보지 않은 채)는 이름만 보고 객체를 선택한다.

의미 있게 구분하라

  • 컴파일러를 통과할지라도 연속된 숫자를 덧붙이거나 불용어를 추가하는 방식은 적절하지 못하다.
  • InfoDataa, an, the와 마찬가지로 의미가 불분명한 불용어다.
  • 명확한 관례가 없다면 변수 moneyAmountmoney와 구분이 안된다. customerInfocustomer와, accountDataaccount와, theMessagemessage와 구분이 안된다. 읽는 사람이 차이를 알도록 이름을 지어라.

발음하기 쉬운 이름을 사용하라

  • 발음하기 쉬운 이름은 중요하다. 프로그래밍은 사회 활동이기 때문이다.
  • 새로운 개발자가 들어오면 변수를 설명해준 다음(올바른 영어 단어가 아니라) 우리가 만들어낸 발음을 알려줬다.😂

검색하기 쉬운 이름을 사용하라

  • 이름을 의미있게 지으면 함수가 길어진다. 하지만 WORK_DAYS_PER_WEEK를 찾기가 얼마나 쉬운지 생각해보라.

자신의 기억력을 자랑하지 마라

  • 문자 하나만 사용하는 변수 이름은 문제가 있따. 루프에서 반복 횟수를 세는 변수 i, j, k는 괜찮다. 단, 루프 범위가 아주 작고 다른 이름과 충돌하지 않을 때만 괜찮다. 루프에서 반복 횟수 변수는 전통적으로 한 글자를 사용하기 때문이다.
  • 전문가 프로그래머는 명료함이 최고라는 사실을 이해한다.

클래스 이름

  • 클래스 이름과 객체 이름은 명사나 명사구가 적합하다.
  • Manager, Processor, Data, Info 등과 같은 단어는 피하고, 동사는 사용하지 않는다. 너무 일반적이고 모호한 명사 X

메서드 이름

  • 메서드 이름은 동사나 동사구가 적합하다.

오늘 읽은 소감

이번 챕터에서는 발음하기 쉬운 이름을 사용하라 부분이 가장 와닿는다. 동료 개발자와 대화를 할 때 제대로 발음할 수 없는 익숙치 않은 단어를 사용한 이름이 보인다면? 내가 잘 못 읽을까봐 발음하기 꺼려진다. 이름 짓기가 중요한거 아는데 너무 너무 어렵다. productData, productInfo 이런식의 네이밍을 종종 사용했었는데, 생각해보니 이 이름으론 제품의 어떤 정보를 가지고 있는 객체인지 이해가 어렵겠구나 생각하게 되었다. 길더라고 명료하고 소통하기 쉬운 이름짓기.. chatGPT와 함께라면.. 할 수 있겠지..

이 책을 읽으려는 이유

profile
계속해서 보완중

0개의 댓글