본문 바로가기
코딩 필독서/클린코드

클린코드3

by 티코딩 2022. 11. 21.

챕터2로 넘어가며 의미있는 이름을 사용해야하는이유, 구체적으로 어떻게 사용하는지를 알아봤다.

클린한 코드를 작성하는데 가장 기초가 되는것은 이름이다. 나도 그렇게 까지 긴 코드를 아직은 짜보진 못했지만 

저번에 했던 버거퀸프로그램 짤때만해도 느꼈다. 코드를 작성하다보면 나도모르게 엄청나게 많은 변수, 클래스, 메서드가 생긴다.

생길 때 마다 제대로 의미를 전달할 수 있는 이름을 만들어주는것은 힘들다.

저자는 먼저 의도를 분명히 밝히라고 한다. 코드가 아무리 간단해도 무엇을 하려는지 모르면 그것은 클린하다고 볼 수 없다. 의미만 잘 전달해도 함수가 하는 일을 알 수 있다. 그리고 그릇된 정보를 피하라고 한다. 에를 들어 hypotenuse를 hp라고 변수명을 지정해주면, 나중에 다른 사람이 코드를 읽었을 때 hp가 뭔지 유추하기 힘들기 때문이다. 여태까지 내가 했던 실수였다. 너무 길면 작성하기 귀찮고 해서 나의 기억력을 믿고 그렇게 했었다. 여태까지 작성했던 코드가 복잡하고 길지 않은 코드라 무난히 넘어갔던 것 같다.

앞으로는 그렇게 하면 안되겠다.  

그리고 그릇된 정보도 아닌 아무런 정보도 제공하지 않는 불용어를 추가하지 말라고 한다. 예를 들어 의미없이 접두어를 붙힌다던가, 변수이름에 variables, 표 이름에 table 을 붙히지 말라는 것이다.

사람은 단어에 익숙하다. 특히 발음 하는데 익숙하므로 genymdhms같은 발음이 모호하거나 어려운 단어로 이름을 지정하면, 의미가 제대로 전달이 되지 않을 뿐만 아니라 협업에 혼동을 줄 수 있다. 

저자는 본인의 기억력을 자랑하지 말라고 한다. 나조차도 느꼈던 부분이다. 예제를 배운대로 작성하는데 변수이름이 너무길어 귀찮아져서 내식대로 했다가 결국 헷갈리게 된 경험이 있다.

클래스 이름으로는 명사가 좋고, 메서드의 이름으로는 동사가 좋다.

그리고 한 개념에는 한 단어만 써야한다고 한다. 그렇다고 일관성을 유지한다고 모든 더하는 메서드에 add라고 붙히지 말란것이다. 새 메서드가 맥락이 다르다면 append 나 insert를 사용하는것이 바람직하다.  

'코딩 필독서 > 클린코드' 카테고리의 다른 글

클린코드6  (0) 2022.12.05
클린코드5  (0) 2022.11.30
클린코드4  (0) 2022.11.25
클린코드2  (0) 2022.11.19
클린코드1  (2) 2022.11.18