오르막길

[CleanCode] 4~5일차 - 3장 TIL 본문

학습 기록하기/클린코드 챌린지

[CleanCode] 4~5일차 - 3장 TIL

nanalyee 2024. 8. 27. 22:04
3장
함수

 

책에서 기억하고 싶은 내용
  • 의도를 분명히 표현하는 함수를 어떻게 구현할 수 있을까?
    • 함수 크기는 작게, 더작게
    • 함수는 한가지만 잘해야 한다 (다른 의미있는 이름으로 추출할 수 있다면 여러개)
    • 내려가기 규칙 - 위에서 아래로 읽히는
    • 서술적인 이름 - 길어도 좋으니 일관성있게
    • 부수적인 효과를 일으키지 않도록
    • 명령과 조회를 분리
    • 오류코드보다는 예외를 사용하기 (그렇지만 try-catch 보다는 해당 블록을 함수로 뽑도록)
    • 오류처리도 한가지씩 => try로 시작했다면 catch/finally로 끝내도록
    • 중복을 없앤다
  • 함수를 어떻게 짜지?
    • 서투른 코드를 짠다
    • 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다.
    • 메서드를 줄이고 순서를 바꾸고 클래스를 쪼갠다.
    • 단위테스트를 항상 통과한다.
  • 진짜 목표는 시스템이라는 이야기를 풀어가는데에 있다.
    작성한 함수가 분명하고 정확한 언어로 깔끔하게 맞아 떨어져야 이야기를 풀기 쉽다.
오늘 읽은 소감

감이오는듯 안오는듯 하나하나 차근차근 진행해봐야 알 것 같다.
내 서투른 코드를 하나씩 고민해보며 다듬는 것 부터 시작해서
읽기 쉬운 이야기가 될 수 있도록 노력할 것이다.

궁금하거나 더 공부해야할 내용

TO문단 : TO 키워드는 LOGO 언어에서 함수를 정의할 때 사용되는 것으로, 다른 언어에서 함수를 정의할 때 사용하는 키워드와 비슷한 역할을 합니다. 예를 들어, 파이썬에서는 함수를 정의할 때 def 키워드를 사용하고, 루비에서도 def를 사용합니다. LOGO에서는 TO로 시작하여 함수의 이름과 매개변수를 명시하고, 함수가 수행할 명령들을 정의합니다.

SRP single responsibility principle : 객체는 단 하나의 책임만을 가져야 한다

OCP open closed principle : 소프트웨어 엔티티(클래스, 모듈, 함수 등)는 확장에는 열려 있어야 하고, 수정에는 닫혀 있어야 한다