Clean Code 02장. 의미 있는 이름
TIL(Today I Learn)
2024.06.24
오늘 읽은 범위
2장. 의미 있는 이름
책에서 기억하고 싶은 내용을 써보세요.
좋은 변수명 선택에는 시간이 걸리지만 이를 통해 절약하는 시간이 더 크다.
존재 이유/수행 기능/사용 방법 등을 고려하여 이름을 선정한다.
주석이 따로 필요하다면 이름이 의도를 분명하게 드러내지 못한 것이다.
널리 쓰이는 의미가 있는 단어를 다른 의미로 사용하지 않는다.
동일한 범위 안에서 다른 두 개념에 같은 이름을 사용하지 않는다.
불용어를 추가한 이름은 아무런 정보를 제공하지 못한다.
발음하기 쉬운 용어를 사용한다.
검색하기 쉬운 이름을 사용한다.
- 인코딩을 피하라.
- 헝가리식 표기법 사용 X
- 변수에 타입 정보 포함 X
- 멤버 변수에 접두어 m 포함 X
자신의 기억력을 자랑하지 않는다.
기발한 이름은 피한다.
한 개념에 한 단어를 사용한다.
해법 영역에서 가져온 이름을 사용한다.
문제 영역에서 가져온 이름을 사용한다.
의미 있는 맥락을 추가한다.
- 불필요한 맥락을 없애라.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.
적절한 이름을 선택하는 것은 생각보다 시간이 오래 걸리는 작업이었다. 클린코드 2장을 읽은 시점에서 이런 고민을 하는 것은 바람직한 현상이며 적절한 이름을 선택함으로써 나중에 많은 장점을 누릴 수 있다는 것을 배울 수 있었다. 물론 고민만 오래 한다고 해서 좋은 이름이 뚝딱 나오는 것은 아니다. 이번 장을 읽으면서 좋은 이름을 짓는 과정에서 고려해야 할 여러 가지 조언들을 보고 들을 수 있었다.
기능 구현과 관련하여 함수명이나 변수명을 크게 고민하지 않았었다. 코드에 명확한 의도가 드러나지 않다보니 별도의 주석을 통해 내가 작성한 코드의 기능을 부가적으로 설명해야 했다. 좋은 이름을 통해 내 프로그램 의도가 잘 반영될 수 있도록 개선해야 한다.
영어 공부가 중요하다는 생각을 하게 되었다. 한국어로 이해하고 있던 개념을 변수명이나 함수명으로 작성하려고 할 때, 의도에 맞는 적절한 영어 단어가 생각나지 않아서 고생을 했기 때문에.
검색하기 쉬운 이름을 사용하라
섹션도 기억에 남았다. 클래스, 변수, 함수는 이름을 지을 수 밖에 없어서 고민을 하긴 했지만, 프로그램 코드 안에 상수 또는 리터럴 값을 그대로 입력하는 경우가 많았었기 떄문이다. 이런 부분들에 대해서도 적절한 이름을 지어서 개발자의 의도가 더 반영되는 코드를 작성해야 할 것이다.의미 있는 맥락을 추가해라
섹션도 기억에 남는다. 프로그램 특성상 여러 개의 변수 또는 함수들의 기능을 합쳐서 하나의 개념으로 표현해야 하는 상황이 많다. 이런 정보들을 클래스 등으로 제대로 묶는다면 프로그래머의 의도를 더 잘 표현할 수 있다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- 없습니다.
오늘 읽은 다른 사람의 TIL