Community

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

← Go back
TIL 3장. 함수
#clean_code
2년 전
496

TIL (Today I Learned)

2022.02.22. ~ 2022.2.23

오늘 읽은 범위

3장.함수

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

  1. 작게 만들어라, 한 가지만 해라

    • if, else, while문 등에 들어가는 블록은 한 줄이어야 한다.

    • 함수에서 들여쓰기 수준은 1단이나 2단이어야 한다. 그래야 이해하기 쉽다.

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

    • 다른 표현이 아니라 의미 있는 이름으로 다른함수를 추출할 수 있다면 그 함수는 여러 작업을 하고 있는 셈이다.

    • switch문은 한번 사용하는걸로 생각하고, 남용은 자제하자.

  2. 위에서 아래로 코드 읽기: 내려가기 규칙

    • 한 함수 다음에는 추상화 수준이 한 단계 낮은 함수가 온다. 즉, 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한 번에 한 단계씩 낮아진다.

  3. 서술적인 이름을 사용하라

    • 함수가 하는 일을 더 직접적으로 잘 표현하므로 훨씬 좋은 이름이다.

    • 이름이 길어지는 것을 두려워하지 말라.

    • 이름을 읽어서 짐작했던 기능을 각 루틴이 수행된다면 깨끗한 코드이다.

    • 규칙성있는 이름을 지어라.

  4. 함수의 이상적인 인수 개수는 0개

    • 단항 함수는 함수와 인수가 동사/명사로 쌍을 이루어야 한다.

  5. 명령과 조회를 분리하라

    • 함수는 무언가를 수행하거나 답하거나 하나만 해야한다.

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

    • 오류 코드를 반환하면 호출자는 오류 코드를 곧바로 처리해야 한다는 문제를 만난다. 하지만 예외 코드를 사용하면 오류 처리 코드가 원래의 코드에서 분리되므로 깔끔해진다.

  7. 반복하지 마라

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

함수의 내용을 작게 만드는 것이 깔끔해 보인다는 생각은 했었다. 하지만 길게 쓰는 경우가 많았고 함수의 인수는 거의 매번 1개이상을 부여 했었기 때문에 0개의 인수라는것이 조금 낯설게 느껴졌다. 나름 생각해서 만든 함수가 비효율적이라고 하니, 혹시 내가 지금까지 잘해왔는가 고민을 하게되었다.

궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • SRP (Single Responsibility Principle)

  • OCP (Open-Closed Principle)