Community

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

← Go back
1기-책 "클린코드" 좋은 TIL 모음 (2장. 의미있는 이름 / 3장. 함수)
by lynn
#clean_code
2년 전
3,845
3

클린코드 (Clean Code)

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


2장. 의미있는 이름

  • 기억하고 싶은 책의 내용

    • 변수나 함수의 이름을 보고 의도를 분명히 알 수 있도록 해야한다.

    • 단순히 컴파일러나 인터프리터만 통과하려는 생각으로 코드를 구현하는 프로그래머는 스스로 문제를 일으킨다. 컴파일러를 통과할지라도 연속된 숫자를 덧붙이거나 불용어를 추가하는 방식은 적절하지 못하다. 이름이 달라야 한다면 의미도 달라져야 한다.

    • 검색했을 때 하나의 함수나 변수가 나오는 것이 아니라 여러개가 검색되는 경우 나중에 버그나 생겼을때 유지보수하기 어렵기때문에 검색하기 용이한 이름을 선택하는 것이 좋다.

    • 나중에 합류하는 직원에게 설명해야하는 코드는 좋은코드가 아니다. 재미난 이름보다는 명료한 이름을 선택하여 별다른 설명을 하지않아도 의미를 파악할 수 있도록 하는것이 중요하다.

  • 소감 및 생각

    • 이번 범위 역시도 매우 공감하는 부분들이 많았다. 직접 개발하면서 특별히 신경을 쓰거나 다른 사람의 코드를 리뷰를 하면서도 자주 지적하는 부분인 ‘의미 있는 이름’에 대한 부분이었기 때문이다. 나는 정말, 정말로 의미 없는 이름을 싫어한다. 예를 들면 그냥 object라거나, 심지어 이를 더 줄여서 o라고 표시하는 것들 말이다. 그리고 나는 정말로 의도가 분명한 이름을 지으려고 노력한다. - @Flynn

    • 나 역시 개발을 하면서 가장 심사숙고하는 부분이 이름짓는것이다. 과연 어떤 이름이 좋은 이름일까 많은 고민을 한다고 했던것 같은데 책을 읽으면서 부족한 부분을 많이 깨달았다. 긴 변수 이름을 피하고자 의미를 모르게 줄여버렸던 적도 있었고, 테스트코드니까, 주석 달았으니까 라는 핑계로 test01, test02같은 정말 의미없는 코드를 양산 했던 적도 있었기때문에 많이 반성했다.


      - @나만없어고양이

    • 변수명 길어질 때마다 니꼬쌤이 원망스러웠는데 왜 그런지 이유를 알게된 장이었다. 좋은 코드는 이런 디테일도 신경쓰는구나, 생각했다. 변수명에 접두어를 붙이는 트렌드는 TS 와 IDE 의 발전으로 점점 사라져가는 추세라는 것도 알게되었다. - @Jz


3장. 함수

  • 기억하고 싶은 책의 내용

    • 작게 만들어라

    • 함수는 한 가지를 해야 한다. 그 한가지를 잘 해야 한다. 그 한 가지만을 해야 한다.

    • 일관성 있는 서술적인 이름을 사용하라!

    • 코드는 위에서 아래로 이야기처럼 읽혀야 좋다.

    • 함수 인수(최선은 입력 인수가 없는 것!)

    • 단항 형식 함수 → “함수 이름을 지을 때는 (1)인수에 질문 던지는 경우 (2)인수를 변환하여 리턴하는 경우 를 분명히 구문하고 일관적인 방식으로 두 형식을 사용하라” → “이벤트 함수 형식은 코드에 명확히 드러나도록 이름과 문맥을 주의해서 선택하라.” → “상기 외에는 가급적 단항 형식을 피하라” - @나만없어이모지

    • 코드 정리 - @poogle

  • 소감 및 생각

    • 확실히 요구사항을 정확히 파악하고 프로세스를 잘 정립 할수록 함수 라인 수는 줄어드는 것 같다. 당장 과거의 나 자신만 해도 마감에 쫒겨 급하게 짠 소스일수록 함수 크기가 점점 늘어났었다(불필요한 if가 늘어나기 시작...). 앞으론 함수 내 코드가 늘어나는 것에 언제나 경계심을 가지며, 기능단위로 세분화 할 수 있도록 노력해야겠다. - @Dorihyobi

    • 소프트웨어 개념으로 치자면, 이 책도 약간 추상화가 되어 있다. 추상화를 구체화시키는 것은 결국 프로그래밍을 짜는 사람에게 달려 있는데, 이 코드를 구체화 시킬 때의 지침 또는 마인드를 줄 수 있는 내용들이다.

      함수의 외형적으로는 함수 이름과 인수의 갯수, 출력값에 대한 고민을 할수 있었고, 내부적으로는 코드를 어떻게 언어를 활용해서 간결하게, 그리고 역할을 분리해서, 코드를 보는 사람이 쉽게 이해할 수 있도록 할까를 고민할 수 있는 챕터였다. - @Pleed

    • 특히, <여러분이 작성하는 함수가 분명하고 정확한 언어로 깔끔하게 같이 맞아떨어져야 이야기를 풀어가기가 쉬워진다> 이 문장이 무척 내 마음을 적셔준다. 그래서 어떤 프로그래밍 언어를 배우더라도 코드를 작성하는 태도와 자세는 변하지 않을 것 같다는 생각이 들고, 좀 더 풍부하고 표현력이 강한 언어를 만들게 되며 그 이야기를 풀어가는 사람이 ‘프로그래머’라는 걸 명심하게 되는 순간이다. - @Roxy


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

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

3 comments