pg.10
지금까지 책은 계속해서 나에게 깨끗한 코드의 중요성을 설명하고 있다. 나쁜 코드를 사용하면 생산성이 낮아진다는 여러 가지 예시를 들었고, 결국 깨끗한 코드를 사용해야만 원초적인 목표를 달성할 수 있다는 결론을 제시했다.
책은 이어서 깨끗한 코드의 정의에 대해서 설명하고 있다. 저명한 개발자들의 다양한 의견이 있으므로 키워드와 짧은 문장으로 정리해야겠다.
"우아한 코드", "효율적인 코드", "간결한 코드", "꼼꼼한 코드"
"의도가 분명한 코드", "명쾌한(단호한) 추상화와 단순한 제어문으로 가득하다"
"가독성이 좋은 코드", "다른 사람이 고치기 쉬운 코드", "테스트 코드가 있는 코드"
"중복을 피하고, 한 기능만 수행하고, 제대로 표현하고, 작게 추상화하는 코드"
이 키워드를 아우르는 나만의 클린 코드의 정의를 내려보려 한다.
"읽기 쉽고 간단한 역할만 수행하는 직관적인 코드".... 흠
어쨌든 저자가 어떤 말을 하려는지는 충분히 와닿은 것 같다.
pg.27
이제는 의미 있는 이름에 대해서 설명하고 있다. 책에서 주장하는 바는 다음과 같다.
1. 의도를 분명히 밝혀라
2. 그릇된 정보를 피하고 의미 있는 이름을 지어라
3. 발음하기 쉬운 이름을 사용해라
4. 검색하기 쉬운 이름을 사용해라
5. 인코딩을 피하라
- 접두어(또는 접미사)를 붙이는 건 구닥다리 코드이다. 차라리 좋은 IDE를 사용할 것
- 따라서 헝가리안 표기법(변수나 함수의 이름에 그 종류, 곧 흔히 데이터 타입 따위를 명시하는 표기법) 또한 불필요하다.
- 인터페이스 클래스와 구현 클래스가 있다고 하자. 저자는 구현 클래스의 이름을 인코딩할 것이다.
6. 자신의 기억력을 자랑하지 마라 ( 명확한 표기법을 사용해라 )
7. 클래스 이름 ( 명사나 명사구가 적합하다 )
8. 메서드 이름 ( 동사나 동사구가 적합하다 - 행위를 표현한다 )
9. 기발한 이름은 피해라 ( 제발 평범한 이름을 써라 ㅇㅇ )
10. 한 개념에 한 단어를 사용하라 ( 똑같은 메서드에 제각각으로 이름을 붙이면 혼란스럽다 )
11. 말장난 금지 ( 의도를 분명히 밝히는 것이 제일 중요하다 )
12. 사용하는 기술 영역의 용어를 적절하게 사용해라
13. 적절한 기술 용어가 없다면 문제 영역(Domain)에서 이름을 가져와라 ( 단, 단순하게 차선택이 되어서는 안된다 )
14. 의미 있는 맥락을 추가하라 ( 함수를 작은 조각으로 쪼개면서 긴 함수의 맥락이 분명해지는 효과가 있다 )
15. 불필요한 맥락을 없애라 ( 의미가 분명한 경우에 한해서 이름에 불필요한 맥락을 추가하지 않아야 한다 )
결론
초장이라 그런지 생각보다 상식적이고 당연한 설명들을 읽은 것 같다. 그래도 상식에 대한 깊은 고찰을 같이 해볼 수 있었고, 당연한 것들에 대해서 다시 한번 되새기는 기회가 되었다.
'책 > 클린 코드' 카테고리의 다른 글
클린 코드: 디미터 법칙 (0) | 2023.06.28 |
---|---|
클린 코드: 습관적 getter, setter (0) | 2023.06.27 |