Community

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

← Go back
TIL 3장.함수
#clean_code
2년 전
426


TIL (Today I Learned)

2022.02.23

오늘 읽은 범위

3장. 함수

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

  • if 문/else 문/while 문 등에 들어가는 블록은 한 줄이어야 한다 (p.43)

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

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

  • 함수에서 이상적인 인수 개수는 0개다. (p.50)

  • 플래그 인수는 추하다. 함수로 부울 값을 넘기는 관례는 정말로 끔찍하다. 왜냐고? 함수가 한꺼번에 여러 가지를 처리한다고 대놓고 공표하는 셈이니까! (p.52)

  • 단항 함수는 함수와 인수가 동사/명사 쌍을 이뤄햐 한다. (p.54)

  • 중복은 소프트웨어에서 모든 악의 근원이다 (p.60)

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

  • 함수를 작게 쪼개서 작성하는 것이 좋다는 사실을 알고는 있었지만 도대체 어느정도로 작아야하는지, 어떤 기준으로 나눠야하는지 몰라 막연하기만 했다. 이번 챕터에서 함수 작성에 대한 구체적인 방법들을 읽어보니 생각보다 어렵지 않고 어느정도 기준이 생긴 것 같다. 바로 업무 코드에 적용해보니 그렇게 큰 변화가 아님에도 훨씬 가독성이 좋아졌다. 내가 '클린 코드'를 만들어내다니 자신감이 생긴다. 인수와 관련된 부분은 생각지도 못하고있던 것이어서 앞으로 신경을 써야겠다.

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

  • OCP(Open Closed Principle) : 개방-폐쇄 원칙, 소프트웨어 개체는 확장에 대해 열려있어야 하고, 수정에 대해 닫혀있어야 한다.

  • 시간적 결합, 순서 종속성 : "A는 항상 B보다 먼저 호출해야한다"와 같이 실행 순서를 강제하는 것. 코드 작성을 유연하지 않게 한다. 동시성 허용 필요