Community

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

← Go back
TIL-Assignment #05(2022.2.22. ~ 2022.2.23.)
#clean_code
2년 전
513


TIL (Today I Learned)

// 2022.02.22. ~ 2022.2.23

오늘 읽은 범위

// 3장.함수

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  7. 반복하지 마라

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

전체적으로 공감도 갔지만 낯설기도 한 장이 었다. 함수의 내용을 작게 만드는 것이 깔끔해 보인다는 생각은 했었지만 실제로는 길게 쓰는 경우가 많았고 함수의 인수는 거의 매번 1개이상을 부여 했었기 때문에 0개의 인수라는것이 조금 낯설게 느껴졌다. Java 예시 코드가 낯설어서 완전히 공감을 할 수는 없었기 때문에 다음에 다시 한번 시간을 잡아서 3장을 읽어 봐야겠다.

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

  • SRP (Single Responsibility Principle)

  • OCP (Open-Closed Principle)