Community

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

← Go back
3장.함수
by bing
#clean_code
2년 전
470

오늘 TIL 3줄 요약

  • 함수는 작게, 또 더 작게 만들어라

  • 추상화 수준이 하나인 단계만 수행해야 한다

  • 가장 이상적인 인수의 개수는 0개이며 다음은 1개, 2개 순이고 3개 이상은 가능한 피하자

TIL (Today I Learned) 날짜

2022. 04. 27

오늘 읽은 범위

3장. 함수

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

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

  • '한 가지'가 무엇인가? 지정된 함수 이름 아래에서 추상화 수준이 하나인 단계만 수행하는 것이다.

  • 함수는 뭔가를 수행하거나 뭔가에 답하거나 둘 중 하나만 해야 한다.

  • 오류 처리도 '한 가지' 작업에 속한다.

  • 함 수를 짤 때도 마찬가지다. 처음에는 길고 복잡하다. 들여쓰기 단계도 많고 중복된 루프도 많다. 인수 목록도 아주 길다. 이름은 즉흥적이고 코드는 중복된다. 하지만 서투른 코드를 빠짐없이 테스트하는 단위 테스트 케이스도 만든다. 그 다음 코드를 다듬고, 함수를 만들고, 이름을 바꾸고, 중복을 제거한다. 최종적으로 규칙을 따르는 함수가 얻어진다. 처음부터 탁 짜내지 않는다. 그게 가능한 사람은 없으리라.

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

  • 함수가 너무 길면 좋지 않다 정도로만 생각했지 이정도로 짧게 구성하는 것은 생각해보지 못했다. 하나의 함수가 한 가지 일을 하도록 만드는 것이 복잡한 어플리케이션 코드 안에서 쉽지 않을 것 같지만 시도해봐야겠다고 생각했다.

  • 어느정도 머리속으로 구조를 잡고, 코드 작성을 시작하면 깔끔하게 코드가 짜져야한다고 생각했다. 그러지 못한 자신을 자책했는데 처음부터 탁 짜내지지 않음을 언급해주어서 마음이 편해졌다.

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

오늘 읽은 다른사람의 TIL