[Books] Clean Code TIL - (3)

In9_9yu·2022년 2월 23일
0

Clean Code

목록 보기
3/5
post-thumbnail

TIL (Today I Learned)

2022.2.22~3 (TUE~WEN)

📖 오늘 읽은 범위

3. 함수

🙄 책에서 기억하고 싶은 내용

  • 추상화 수준을 통일하라
  • 작게 만들어라
  • 서술적인 이름을 사용하라
  • 함수는 작을 수록 좋다
  • 부수효과를 일으키지 마라
  • 명령과 조회를 분리하라
  • 오류 코드 보다는 예외 처리하라

오늘 읽은 소감

지난 챕터에 이어서, 이름 짓기의 연장선 같다.
하나의 함수에 하나의 기능만 맡도록 해서, 이름을 간결하고 명확하게 짓도록 해보자.

아는데, 그게 참 어렵네요

관련있는 내용들 정리

  1. 추상화 수준의 통일

    TOSS SLASH 21에도 나왔던 내용이다.
    나는 프론트엔드 개발자니, 리액트 코드로 예시를 들어본다.

    하나의 컴포넌트도 각기 다른 추상화를 가지도록 할 수 있다.
    만들고자 하는 컴포넌트는 다음과 같다.

    • 클릭을 하면 '안녕' 이라는 alert를 띄우는
    • '인사'라는 내용을 가지는 버튼이다

낮은 추상화

		<CustomButton text="인사" onClick={handleClick} />

중간 추상화

		<CustomButton onClick={handleClick}/>    

높은 추상화

		<CustomButton />    

같은 역할을 하는 컴포넌트지만, 내가 노출시키고자 하는 부분은 다르게 나타낼 수 있다.
SLASH 21 클린코드 발표자 분 께서도 말씀하셨듯이, 정답은 없다. 상황에 맞게 사용하면 될 뿐.

  1. 부수효과를 일으키지 마라.

    최근 함수형 프로그래밍 강의를 들어보았는데, 참 괜찮은 것 같다.
    내 짧은 식견으로 부수효과를 일으키지 않는 노력의 장점은 다음과 같다.

  • 인자로 넘긴 값을 실제로 변형하지 않는다. 따라서 원본이 변했는지에 대해서 걱정할 필요가 없다.(실제로 새로운 값을 만들어서 반환함)

  • 걱정할 필요가 없다 -> 예외적인 상황이 발생할 확률이 낮아진다...

    나머지 장점은... 아래의 강의에서 친절히 가르쳐 주실 것이다.

    TMI) 재밌어서 후속강의도 다 질러버림

    인프런 - 자바스크립트로 알아보는 함수형 프로그래밍 (무료)

🤔 궁금한 점 및 추가적인 내용

함수 부분은 한 번 더 읽어보기...!


#노마드코더 #북클럽 #노개북

profile
FE 임니다

0개의 댓글