Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back

[TIL] Clean Code <2장 의미있는 이름>

#clean_code
1년 전
282

오늘 읽은 범위

  • 2장. 의미있는 이름

책에서 기억하고 싶은 내용을 써보세요.

  • 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. "존재이유는?, 수행기능은?, 사용방법은?" 여기에 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. (22p, 의도를 분명히 밝혀라)

  • 특정 문화에서만 사용하는 농담은 피하는 편이 좋다. 의도를 분명하고 솔직하게 표현하라 (33p, 기발한 이름은 피하라)

  • 의미 있는 맥락을 추가하라(35page, 특히 상속을 통해서 Hierarchical Structure 를 짤 때, 유효할 것 같다고 느낀 부분)

오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

  • 책에서 지양해야 할 점으로 열거한 것들이 거의 나한테 해당되는 사항이었다. 코드를 짜면서 막히던 부분에서 갑자기 아이디어가 퍼뜩 떠올랐을 때 일본어로 "설마?!" 를 뜻하는 "마사카"를 변수명으로(masaka) 짓고 나중에 사람들 앞에서 코드 리뷰 할 때 적잖이 당황했던 적도 있던 터라 특히, <기발한 이름은 피하라> 부분을 읽으면서 많이 반성했다.

  • Program Solving 분야 쪽에 있는 사람이라면, 주의하고 버릇을 들여놔야 될 것 같다는 생각이다. 알고리즘 대회나 문제를 풀 때는 개인, 혹은 서로 아는 가까운 사람 몇명끼리 하고만 함께하기 때문에 본인만의 언어 또는 그들만의 은어를 사용하는 것, 코드를 최대한 짧게 쳐서 통과하는 "숏코딩" 등 적어도 클린코드에서 논하는 내용이랑은 완전 다른 방향으로 코드를 짜는 경향이 강하다.

  • 이번 장에서 다룬 주제가 [1. 코드 확인 -> 2. 코드 이해 -> 3. 작성자 의도 파악] 이 3개의 프로세스에 2번 단계에 쏟는 시간을 비약적으로 줄여주는 점에서 좋지만, 반대로 코드작성자의 입장에서 코드 작성시간이 더 늘어난것은 명백한 사실이다.

    코드를 짜는 것과 읽는 것에는 분명히, Trade-off 가 존재한다. 짤 때는 좋았지, 읽을 때는 지옥인 코드가 있는 반면에, 짤 때는 괴로웠다가도 그 코드는 나중에 몇 년 지나고 나서도 이해되는 코드로 남아 있다. 적용은 코드를 누가 짜는지, 용도가 무엇인지, 추후에 재사용할 것인지, 따져봐서 결정해야 할 사안일 것이다.