💪 Study/📚 노마드코더 북클럽
노개북 클린코드 #03
김_수댕
2024. 5. 6. 20:30
반응형
TIL (Today I Learned) 날짜
2024년 05월 05일 일요일
오늘 읽은 범위
2장. 의미 있는 이름
책에서 기억하고 싶은 내용
2장. 의미 있는 이름
- 의도를 분명히 밝혀라
- 변수(함수, 클래스 등) 존재 이유는 무엇인가? 수행하는 기능은 무엇인가? 사용하는 방법이 어떻게 되는가?라는 질문의 답이 주석으로 필요하다면 이름의 의도를 드러내지 못했다는 의미
- 코드의 단순성이 아닌 함축성을 지양하자. 코드 맥락이 코드 자체에 명시적으로 드러나지 않는다면 코드의 이해가 어려워진다.
- 그릇된 정보를 피하라
- 프로그래머는 코드에 그릇된 단서를 남겨서는 안 된다.
- List는 특수한 의미를 지닌다. 계정을 담는 컨테이너가 실제 List가 아니라면 프로그래머에게 그릇된 정보를 전달할 수 있으므로 List를 사용해서 명시하지 않는다.
- 흡사한 이름을 사용하지 않도록 주의하자. 유사한 개념은 유사한 표기법을 사용하지만, 일관성이 떨어지는 표기법은 그릇된 정보이다.
- 의미 있게 구분하라
- 동일한 범위 내에서는 다른 두 개념에 같은 이름을 사용할 수 없다.
- 컴파일러를 통과하더라도 연속된 숫자나 불용어(noise word)를 추가하는 방식은 적절하지 않다. 이름이 다르다면 의미도 다르다.
- 발음하기 쉬운 이름을 사용하라
- 프로그래밍은 사회 활동이다.
- 검색하기 쉬운 이름을 사용하라
- 검색하기 쉬운 이름이 상수보다 좋다.
- 이름 길이는 범위 크기에 비례해야 한다,
- 인코딩을 피하라
- 자신의 기억력을 자랑하지 마라
- 코드를 읽으면서 변수 이름을 자신이 아는 이름으로 변환해야 한다면 그 변수 이름은 바람직하지 않다.
- 클래스 이름
- 클래스와 객체의 이름은 명사나 명사구가 적합하다.
- 동사는 사용하지 않는다.
- 매서드 이름
- 매서드 이름은 동사나 동사구가 적합하다.
- 기발한 이름은 피하라
- 재미난 이름보다 명료한 이름을 선택하라.
- 의도를 분명하고 솔직하게 표현하라.
- 한 개념에 한 단어를 사용하라
- 추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다.
- 말장난을 하지 마라
- 한 단어를 두 가지 목적으로 사용하지 마라.
- 해법 영역에서 가져온 이름을 사용하라
- 문제 영역에서 가져온 이름을 사용하라
- 적절한 프로그래머 용어가 없다면(해법 영역이 없다면) 문제 영역에서 이름을 가져온다.
- 의미 있는 맥락을 추가하라
- 모든 방법이 실패하면 마지막 수단으로 접두어를 붙인다.
- 불필요한 맥락을 없애라
- 일반적으로는 짧은 이름이 긴 이름보다 좋다. 단, 의미가 분명한 경우에 한해서다. 불필요한 맥락을 추가하지 않도록 주의한다.
읽은 소감 + 떠오르는 생각
변수나 메서드의 이름을 지을 때에도 많이 고민하고 지어야 한다는 걸 느꼈다.
생각보다 고려할 점이 많은 것 같았다.
코드를 작성할 때 의식하면서 이름을 정해봐야겠다.
궁금한 내용 + 이해되지 않는 내용
아직은 궁금한 내용은 없었다!
저자가 말한 것처럼 이건 단지 저자가 생각하는 클린 코드 작성법이니까 참고한다고 생각하고 보고 있다.
우선은 이 방식대로 클린코드를 작성해 보려고 노력하고, 다른 방식도 찾아보면서 나와 팀을 위한 규칙을 만들어야겠다.
반응형