Community

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

← Go back
TIL-Assignment #05_(2022.02.22[화])
#clean_code
2년 전
419


TIL (Today I Learned)

2022.02.22

오늘 읽은 범위

3장. 함수(p.40~54)

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

  • 중첩 구조가 생일만큼 함수가 커져서는 안 된다는 뜻이다. 그러므로 함수에서 들여쓰기 수준은 1단이나 2단을 넘어서면 안된다.(p.44)

  • 함수는 한 가지를 해야 한다. 그 한 가지를 잘 해야 한다. 그 한 가지만을 해야 한다.(p.44)

  • 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행한다면 그 함수는 한 가지 작업만 한다.(p.45)

  • 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다.(p.45)

  • 내려가기 규칙: 위에서 아래로 프로그램을 읽으면 함수 추상화 수준이 한번에 한 단계씩 낮아진다. 일련의 TO 문단을 읽듯이 프로그램이 읽혀야 한다는 의미다.(p.46)

  • 최선은 입력 인수가 없는 경우이며, 차선은 입력 인수가 1개뿐인 경우다. SetupTeardownIncluder.reder(pageData)는 이해하기 아주 쉽다. pageData 객체 내용을 렌더링 하겠다는 뜻이다.

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

  • 내가 작성한 함수명을 보고 '이게 어떤 함수였더라?'라고 생각해 다시 로직을 읽어내고 함수를 떠올렸던 적이 많다. 로직을 읽다보면 여러가지 로직을 처리하고 있어 함수를 읽어내기 꽤 시간이 걸린 적도 있었다. 이번 장을 통해 '함수는 한 가지를 해야 한다'라는 문장에서 그동안 내가 작성한 함수들이 내가 짠 로직인데도 불구하고 읽어내기까지 시간이 걸렸는지 알 수 있었다. 함수의 이름과 실행하는 일들이 이런 결과를 초래한 것이다.

    이제 코딩에 입문하는 단계로 클래스를 최소로 만들어 사용하는게 나은 방향인지(대신 함수 로직이 길어지겠지..?) 클래스를 많이 사용하여 읽어내기 쉬운 로직을 짜는게 맞는 것인지 잘 모르겠다.어디서부터 기본개념을 잡아햐 할까? 슬랙에 한번 여쭤봐야겠다!

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

  • 이번 내용도 어려워서 계속 반복해서 읽었다 내일까지 3장을 읽을 수 있으니 처음부터 다시 읽고궁금한 내용을 적어야겠다.