Community

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

← Go back
TIL DAY 5, DAY 6
#clean_code
2년 전
607


TIL (Today I Learned)

  • 2022.02.23

오늘 읽은 범위

  • 3장 함수

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

  • 작게 만들어라

  • 블록과 들여쓰기
    중첩 구조가 생길만큼 함수가 커져서는 안된다.

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

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

  • switch문을 사용할 때는 다형성(polymorphism)을 이용하면 저차원 클래스에 숨기고 절대로 반복하지 않을 수 있다.

  • 서술적인 이름을 사용하라.
    길고 서술적인 이름이 짧고 어려운 이름보다 좋다.

  • 함수 인수
    이상적인 개수는 0개다. 다음은 1개고, 다음은 2개다. 3개는 가능한 피하는 편이 좋다. 4개 이상은 특별한 이유가 필요하다.

  • 부수적인 효과를 일으키지 마라
    만약 시각적인 결합이 필요하다면 함수 이름에 분명히 명시한다.

  • 명령과 조회를 분리하라
    함수는 객체 상태를 변경하거나 아니면 객체 정보를 반환하거나 둘 중 하나다.

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

  • 반복하지 마라
    코드가 미묘하게 달라 중복이 금방 드러나지 않더라도 중복은 문제다.

  • 결론
    프로그래밍의 기술은 언제나 언어 설계의 기술이다.

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

  • 공감하는 내용이 있고 모르는 내용도 있다. 최대한 많은 실습을 하면서 전부 몸으로 체득해야겠다.

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

  • NULL