Community

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

← Go back
TIL 20220222 함수
#clean_code
2년 전
547


TIL (Today I Learned)

2022.02.22

오늘 읽은 범위

3장 함수

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

  • 함수는 작게 만들어라 (p42)
    함수에서 들여쓰기 수준은 1단이나 2단을 넘어서는 안된다.

  • 함수는 한가지의 기능만 해야한다.(p44)
    단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다면 그 함수는 여러 작업을 하는 셈이다.

  • 서술적인 이름을 사용해 함수가 하는 일을 잘 표현하도록 하라.(p49)

  • 함수 인수 없을수록 좋다.
    최선은 입력 인수가 없는 경우이며, 차선은 입력 인수가 1개뿐인 경우다.(p51)

  • 반복하지 마라
    많은 원칙과 기법이 중복을 없애거나 제어할 목적으로 나왔다.(p60)

  • 그 무엇보다도 가장 중요한 내용


    고칠 각오를 하고 일단 함수를 짠다.
    그리고 서투른 코드를 빠짐없이 테스트 하는 단위 테스트 케이스도 만든다. 그 다음 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 메서드를 줄이고 순서를 바꾼다. 때로는 클래스를 쪼개기도 한다. 이 와중에도 코드는 항상 단위 테스트를 통과한다.(p61)

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

  • 글쓰기와 동일한 것 같다. 어떻게 하든 초안을 작성해야 한다. 초안은 항상 서투르고 어수선하다는 것을 인정해야 한다. 이것을 다듬는 과정이다.

  • 오늘은 코드를 별로 작성하지 못하였다. 책의 내용이 자꾸 생각나서 함수를 만드는 더 좋은 방법이 있지 않을까? 더 좋은 구조가 없을까? 이렇게 하는게 정답일까? 고민만 하였다. 어쩌면 내가 원하는 기능을 만들고 다듬어 나가는 방법으로 했어야 한 것 같다.

  • 테스트 이야기가 계속해서 나온다. 어쩌면 TDD부터 읽고 왔어야 하는것이 아닐까?

  • 소프트웨어를 짜는 행위가 글쓰기와 비슷하다면, 많이 쓰고, 많이 다듬고, 많이 피드백을 받는다면 늘지 않을까? 많이 작성해봐야겠다. 그리고 클린 코드에서 말하는 내용대로 다듬고, 또 다듬어야겠다고 다짐한다.

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