개발자 99% 커뮤니티에서 수다 떨어요!
오늘 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장서 부터 이 책에서 설명하는 잘못된 예시들을 전부 내가 하고 있다니 굉장히 부끄러웠다. 조금 늦었다 싶기도 하지만 이제라도 잘못된 점을 정확히 알게되고, 더 나은 방법을 제시해주는 책을 만났으니 이번 기회로 꼭 더 나은 개발자가 될 수 있도록 노력해야 한다.