Community

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

← Go back
[Clean Code] 2장. 의미 있는 이름
#clean_code
2년 전
1,203

오늘 TIL 3줄 요약

  • 의도를 분명히 밝혀라.

  • 일관성이 떨어지는 표기법은 그릇된 정보다.

  • 한 단어를 두 가지 목적으로 사용하지 마라.

TIL (Today I Learned) 날짜

2022. 04. 24

오늘 읽은 범위

2장. 의미 있는 이름

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

  • 의도가 분명하게 이름을 지으라

  • 다음과 같은 굵지한 질문에 모두 답해야 한다. 변수의 존재 이유는? 수행 기능은? 사용 방법은?

  • 연속적인 숫자를 덧붙인 이름은 의도적인 이름과 정반대다.

  • Info나 Data는 a , an, the와 마찬가지로 의미가 불분명한 불용어다.

  • 명확한 관례가 없다면 변수 moneyAmount는 money와 구분이 안된다. customerInfo는 customer와, accountData는 account와, theMessage는 message와 구분이 안된다. 읽는 사람이 차이를 알도록 이름을 지어라.

  • 발음하기 쉬운 이름을 선택하라. (genymdhms -> generationTimestamp)

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

  • 클래스 이름과 객체 이름은 명사나 명사구가 적합하다.

  • 메서드 이름은 동사나 동사구가 적합하고, 인수를 설명하는 이름을 사용한다. (접근자-get, 변경자-set, 조건자-is)

  • 재미난 이름보다 명료한 이름을 선택하라.

  • 한 단어를 두 가지 목적으로 사용하지 마라. 다른 개념에 같은 단어를 사용한다면 그것은 말장난에 불과하다. ( 기존값 두 개를 더하거나 이어서 새로운 값 생성 -> add, 집합에 값 하나를 추가 -> insert, append )

  • 일반적으로 짧은 이름이 긴 이름보다 좋다. 단, 의미가 분명한 경우에 한해서다.

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

  • 변수명을 짓는 것은 개발 시에 가장 고민되는 부분 중 하나였는데, 고민에 비해 좋은 이름을 짓지는 못한 것 같다. 무조건 짧은 변수명을 지어야 할 것 같은 생각에 길게 늘여진 단어의 앞글자를 따 줄여놓고 스스로 만족하고( genymdhms 부분에 굉장히 찔렸다 ), 그렇게 변수명을 지어놓은 뒤 다시 볼 때는 코드를 분석해야 그 변수가 어떤 일을 하는지 알아냈던 기억이 많다. 어렴풋이 잘못하고 있다는 걸 알았지만 1장서 부터 이 책에서 설명하는 잘못된 예시들을 전부 내가 하고 있다니 굉장히 부끄러웠다. 조금 늦었다 싶기도 하지만 이제라도 잘못된 점을 정확히 알게되고, 더 나은 방법을 제시해주는 책을 만났으니 이번 기회로 꼭 더 나은 개발자가 될 수 있도록 노력해야 한다.