개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.02.21
오늘 읽은 범위
2장. 의미있는 이름
책에서 기억하고 싶은 내용을 써보세요.
의도를 분명히 밝혀라 (p.22)
따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. (p.22)
그릇된 정보를 피하라 (p.24)
의미 있게 구분하라 (p. 25)
컴파일러나 인터프리터만 통과하려는 생각으로 코드를 구현하는 프로그래머는 스스로 문제를 일으킨다. (p. 25)
요지는 zork라는 변수가 있다는 이유만으로 theZork라 이름 지어서는 안 된다는 말이다. (p. 26)
발음하기 쉬운 이름을 사용하라 (p. 27)
발음하기 쉬운 이름은 중요하다. 프로그래밍은 사회 활동이기 때문이다. (p.27)
검색하기 쉬운 이름을 사용하라 (p. 28)
이러한 관점에서 긴 이름이 짧은 이름보다 좋다. 검색하기 쉬운 이름이 상수보다 좋다. (p.28)
개인적으로는 간단한 메서드에서 로컬 변수만 한 문자를 사용한다. 이름 길이는 범위 크기에 비례해야 한다. (p. 28)
클래스 이름과 객체 이름은 명사나 명사구가 적합하다. (p. 32)
메서드 이름은 동사나 동사구가 적합하다. (p. 32)
생성자를 중복정의할 때는 정적 팩토리 메서드를 사용한다. (p. 32)
한 개념에 한 단어를 사용하라 (p. 33)
메서드 이름은 독자적이고 일관적이어야 한다. (p. 33)
모든 이름을 문제 영역(domain)에서 가져오는 정책은 현명하지 못하다. (p. 34)
적절한 프로그래머 용어가 없다면 문제 영역에서 이름을 가져온다. (p. 34)
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
오늘 단원을 읽으면서 간단한 네이밍 규칙조차도 모르고 있던 나를 반성하게 됐다. 특히나 변수명을 의미를 내포하면서 짧게 짜려고 노력했는데, 단순히 짧은 것보다도 검색하기 쉬운 긴 이름이 낫다는 점과 발음하기 쉬운 이름이 중요하다는 점이 상당히 흥미로웠다.
개발을 하면서 항상 변수명, 클래스명, 함수명을 짓는 게 어렵고도 나중에 유지보수를 함에 있어서 시간이 많이 잡아먹는 부분이었는데 오늘 단원을 통해서 조금이나마 감이 잡힌 거 같다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
"인코딩을 피하라"라는 말이 정확히 어떤 느낌인지 체감이 안 된다.
해법 영역과 문제 영역을 어떻게 구분해야할 지 감이 안 온다.