Community

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

← Go back
클린코드 5,6일차 - 함수(2022.02.23[수])
#clean_code
2년 전
742

오늘 읽은 범위

 

 3장 함수

 

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

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

  • 작게 만들어라

    • 함수를 만드는 규칙은 '작게' 이다!

    • 중첩 구조가 생길만큼 함수가 커져서는 안된다.

  • 한 가지만 해라

    • 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한 것이다.

  • 함수 당 추상화 수준은 하나로

    • '한 가지' 작업만 하려면 함수 내 모든 문장의 추상화 수준이 동일해야 한다.

  • 서술적인 이름을 사용하라

    • 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 부를 수 있다.

    • 함수가 작고 단순할수록 서술적인 이름을 고르기가 쉽다.(이름이 길어도 괜찮다!)

    • 서술적인 이름을 사용하면 개발자 머릿속에도 설계가 뚜렷해지므로 코드를 개선하기 쉬워진다.

    • 모듈 내에서 함수 이름은 같은 문구,명사,동사를 사용한다.

  • 함수인수

    • 이상적인 인수 개수는 0개(무항), 1개(단항), 2개(이항)순이다.

    • 단항 형식으로 쓰는 가장 흔한 경우는 인수에 질문을 던지는 경우, 이벤트 두가지이다.

    • 이 외의 경우라면 단항 함수는 가급적 피한다.

    • 이항 함수는 단항 함수보다 이해하기 어렵다.

    • 삼항 삼수는 신중히 고려해야 한다.

 

  • 부수 효과를 일으키지 마라

    • 시간적인 결합을 초래할 수 있다.

    • 부수효과는 거짓말이다!

 

  • 오류코드보다 예외를 사용하라

    • 오류 코드를 반환하면 호출자는 오류 코드를 곧바로 처리해야 한다는 문제에 부딪힌다.

    • 예외를 사용하면 오류 처리 코드가 원래 코드에서 분리되므로 코드가 깔끔해진다.

 

 

  • 오류 처리도 한 가지 작업이다.

    • 함수는 '한 가지' 작업만 해야 한다.

    • 오류를 처리하는 함수는 오류만 처리해야 마땅하다.

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

  • 함수를 4개나 사용했던 경우가 있나? 라는 생각을 했는데 역시나 기대를 져버리지 않고 그렇게 코드를 작성했었습니다.

  • 위와 같이 작성했던 코드들을 리팩터링해야하는데 쉽지 않습니다.

  • 한 가지에 많은 함수를 넣어 손 쉽게 할려고 했던 지난날들을 반성합니다. 

https://cleanwater0904.tistory.com/35