Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL. 2장 의미 있는 이름
#clean_code
2년 전
710
2


TIL (Today I Learned)

2022-02-20

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

이 장에서는 이름을 잘 짓는 간단한 규칙을 몇가지 소개한다.

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

  • 의도를 분명히 밝혀라. 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다.

  • 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다.

변수(혹은 함수나 클래스)의 존재 이유는? 수행기능은? 사용 방법은?

  • 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다.

  • 그릇된 정보를 피하라 의미가 비슷한 이름들을 쓰지 말고 서로 흡사한 이름을 사용하지 말라.

  • 이름을 의미 있게 구분하라! 의미 없이 그냥 구분만 한다면 프로그래머는 뭐가 뭔지 잘 모르는 오류를 저지를 것이다

예로 zork라는 변수를 thezork라 하거나 namestring같은건 name보다 뭐가 나은가? 와 getActiveAccout(); getActiveAccounts(); getActiveAccountInfo(); 이러면 명확한 관례가 없어 구분이 안된다. customerInfo는 customer와, accountDate는 account와, theMessage는 message와 구분이 안된다. 읽는 사람이 차이를 알도록 이름을 지어라.

  • 발음하기 쉬운 이름을 사용해라. genymdhms(generate date, year,month,day,hour,minute,second) 라는 단어를 사용했는데 읽기가 어렵고 가자 다르게 읽을 수도 있다. 그래서 쉽게 generationTimestamp식으로 읽기 쉽게 만들어라.

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

  • 전문가 프로그래머는 명료함이 최고라는 사실을 히해하기에 남들이 이해하는 코드를 쓴다.

  • 클래스 이름과 객체 이름은 명사나 명사구가 적합하다. Customer, Wikipage, Account, AddressParser등이 좋은 예다. Manager, Processor, Data, Info등과 같은 단어는 피하고, 동사는 사용하지 않는다.

  • 메서드 이름은 동사나 동사구가 적합하다. postPayment, deletePage, save등이 좋은 예다.

  • 프로그래머는 코드를 최대학 이해하기 쉽게 짜야 한다.

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

  • 코딩은 경험이 많은 만큼 좋은 책을 읽었을때 효가가 배로 나타날 것 같다. 오늘 내용은 경험이 부족한 나에게 조금 상상하기 힘든 내용들이었다.

  • 역시 이번에도 코드를 짤때는 독자를 생각하며 이해하기 쉽게 짜도록 노력을 해야한다는걸 느꼈다.

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

  • 여러 계정을 그룹으로 묶을 때, 실제 List가 아니라면, accountList라 명명하지 않는다. 프로그래머에게 List라는 단어는 특수한 의미다. 계정을 담는 컨테이너가 실제 List가 아니라면 프로그래머에게 그릇된 정보를 제공하는 셈이다. 그러므로 accountGrooup, bunchOfAccounts, 아니면 단순히 Accounts라 명명한다.(p24) 이 부분은 실제로 코딩 경험이 부족해 무슨 말인지 그려지지 않아 언떤 상황인지도 잘 모르겠고 이해가 되지 않는다.

2 comments