Community

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

← Go back
1기-책 "클린코드" 좋은 TIL 모음 (4장. 주석 / 5장. 형식 맞추기)
by lynn
#clean_code
2년 전
3,035
1

클린코드 (Clean Code)

노마드 개발자 북클럽 1기 (22/01/31)
수강생 Today I Learned 기록 모음


4장. 주석

  • 기억하고 싶은 책의 내용

    • 나쁜 코드에 주석을 달지 마라. 새로 짜라. (p. 68)

    • 부정확한 주석은 아예 없는 주석보다 훨씬 더 나쁘다. 부정확한 주석은 독자를 현혹하고 오도한다. 부정확한 주석은 결코 이뤄지지 않을 기대를 심어준다. 더 이상 지킬 필요가 없는 규칙이나 지켜서는 안 되는 규칙을 명시한다. (p. 69)

    • 진실은 한곳에만 존재한다. 바로 코드다. 코드만이 자기가 하는 일을 진실되게 말한다. 코드만이 정확한 정보를 제공하는 유일한 출처다. 그러므로 우리는 (간혹 필요할지라도) 주석을 가능한 줄이도록 꾸준히 노력해야 한다. (p. 69)

    • 표현력이 풍부하고 깔끔하며 주석이 거의 없는 코드가, 복잡하고 어수선하며 주석이 많이 달린 코드보다 훨씬 좋다. 자신이 저지른 난장판을 주석으로 설명하려 애쓰는 대신에 그 난장판을 깨끗이 치우는 데 시간을 보내라! (p. 69)

    • 몇 초만 더 생각하면 코드로 대다수 의도를 표현할 수 있다. 많은 경우 주석으로 달려는 설명을 함수로 만들어 표현해도 충분하다. (p. 70) - 책 내용 정리 / @Mia

  • 소감 및 생각

    • 주석을 길게 작성하기보단 코드를 한번에 이해하게 개선하는 것이 더 낫다는 문구를 보고 정말 아차싶었다. 나는 왜 여태 코드를 작성하면서 한번도 이런 생각을 하지 못했던건지 의문이 들었다. 무작정 주석을 길고 자세히 적어두면 언젠가 다시 읽어봤을때 이해할 수 있을 거란 생각을 하고 있어서 코드를 수정하는 방법은 생각지도 못했던 것 같다. 이 책을 읽고나서 부터는 깨닫는게 꽤 많아지는 것 같다. - @Rungky

    • 사실 한국에서 가장 큰 이유는 코드의 베이스가 영어이기 때문이라서 그런 것 같다. 영어 코드보다는 아무래도 한글이 더 눈에 빠르게 들어오고, 변수명이나 함수명으로 적절하게 표현할 만한 긴 영어표현을 쓰기 어려워서... 그래서인지 가끔 남의 코드를 보면 Gubun같은 변수명을 종종 만나게 된다. 물론 최신 기술 문서를 보기 위해서도 영어공부가 필요하지만, 코드를 잘 짜기 위해서도 어느정도의 영어실력이 필요한 것 같다. 영어공부도 해야지... - @namu

    • 일본은 뭐든지 기록으로 남기려고 하는 것도 있어서 그런지 사소한 것도 주석으로 달고, 오히려 주석이 없으면 불친절하다는 이야기도 많이 들었다. 굉장히 비효율적이기 때문에 이런 점은 고쳐졌으면 좋겠다. 다들 이 책을 읽어라! - @redpanda


5장. 형식 맞추기

  • 기억하고 싶은 책의 내용

    • 팀으로 일한다면 팀이 합의해 규칙을 정하고 모두가 그 규칙을 따라야 한다. (p.96)

    • 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.

    • 일반적으로 큰 파일보다 작은 파일이 이해하기 쉽다. (파일은 소스 코드 길이로 이해) (p.97)

    • 생각 사이는 빈 행을 넣어 분리해야 마땅하다. 빈 행은 새로운 개념을 시작한다는 시작적 단서다. (p.98)

    • 서로 밀접한 코드 행은 세로로 가까이 놓여야 한다. (p.100)

    • 서로 밀접한 개념은 세로로 가까이 둬야 한다. (p.101)

    • 변수 선언 - ****변수는 사용하는 위치에 최대한 가까이 선언한다.

    • 인스턴스 변수 - 클래스 맨 처음에 선언한다. 변수 간에 세로로 거리를 두지 않는다. (p.103)

    • 종속 함수 - 한 함수가 다른 함수를 호출한다면 두 함수는 세로로 가까이 배치한다. 호출하는 함수를 호출되는 함수보다 먼저 배치한다. (p.104)

    • 개념적 유사성 - 명명법이 똑같고 기본 기능이 유사하고 간단하다. 종속적인 관계가 없더라도 가까이 배치할 함수들이다. (p.106)

    • 프로그래머라면 각자 선호하는 규칙이 있다. 하지만 팀에 속한다면 자신이 선호해야 할 규칙은 바로 팀 규칙이다. (p.113)

    • 개개인이 따로국밥처럼 맘대로 짜대는 코드는 피해야 한다. - 책 내용 정리 / @janjanee

  • 소감 및 생각

    • 개인적으로는 ‘코딩 스탠다드’라고 부르기를 좋아하는 규칙은 필수라고 생각해 왔다. 특별히 팀이 코딩 스탠다드가 없을때 따로 국밥처럼 뒤죽박죽인 코드들을 너무 많이 봐왔다. 규칙은 중요하다. 구현 코드는 사라지만 코드 스타일은 남아있음을 꼭 기억해야 겠다. - @김영호

    • 의사소통은 전문 개발자의 일차적인 의무다. 이 책을 읽기전엔 ‘돌아가는 코드’가 전문 개발자의 일차적인 의무라 여겼었다. 다행히 이 책을 읽고 그 생각이 바뀌고 있다. 팀플레이를 위해서는 한 가지 규칙에 합의해야 하며, 그 합의된 규칙을 잘 지켜나가고 발전시키나가야 한다. - @yoonsoo kim

    • (1) 신문 기사처럼 코드는 위에서 아래로 읽혀져 나간다. (2)

      서로 밀접한 관계에 있는 개념들이라면 가까이 놓아져야 한다. (3)

      ESLint,Prettier에게 무한한 감사를 드린다. - @HASEUNG


노마드 개발자 북클럽이란?

한달에 1권! 개발자 필독서를 (니꼬쌤이랑) 다같이! 함께 읽는 북클럽 입니다. (심지어, 무료!)
곧 2기가 시작할터이니~ 대기자 리스트에 미리 신청해보세요!

1 comment