Community

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

← Go back
TIL ~ 3.함수
#clean_code
2년 전
671


TIL (Today I Learned)

// 2022.02.21

오늘 읽은 범위

// 3장. 함수

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

  • (p.42) 작게 만들어라

    • 나는 작은 함수가 좋다고 확신한다.

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

    • 중첩 구조가 생길수록 함수가 커져서는 안 된다는 듯

    • 들여쓰기 수준은 1단이나 2단을 넘어서면 안 된다.

  • (p.44) 한 가지만 해라!

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

  • (p.46) 내려가기 규칙

    • 코드는 위에서 아래로 이야기처럼 읽혀야 좋다.

  • (p.49) 서술적인 이름을 사용하라!

    • 이름이 길어도 괜찮다. 겁먹을 필요없다.

    • 길고 서술적인 이름이 길고 서술적인 주석보다 좋다.

    • 모듈 내에서 함수 이름은 같은 문구, 명사, 동사를 사용한다.

  • (p.50) 함수 인수

    • 출력 인수는 입력 인수보다 이해하기 어렵다.

    • 대개 함수에서 인수로 결과를 받으리라 기대하지 않는다.

  • (p.51) 많이 쓰는 단항 형식

    • 변환 함수에서 출력 인수를 사용하면 혼란을 일으킨다.

  • (p.54) 동사와 키워드

    • 단항 함수는 함수와 인수가 동사/명사 쌍을 이뤄야 한다. wirte(name)

    • 함수 이름에 인수 이름을 넣는다. assertEquals / assertExpectedEqualsActual

  • (p.56) 명령과 조회를 분리하라!

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

  • (p.60) 반복하지 마라!

    • 중복은 문제다. 코드길이가 늘어날 뿐 아니라 알고리즘이 변하면 네 곳이나 손봐야 하니까.

  • (p.61) 함수를 어떻게 짜죠?

    • 말을 다듬고 문장을 고치고 문단을 정리한다.

  • (p.62) 결론

    • 함수는 그 언어에서 동사며, 클래스는 명사다.

    • 함수가 분명하고 정확한 언어로 깔끔하게 같이 맞아떨어져야 이야기를 풀어가기가 쉬워진다는 사실

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

  • 결국 함수는 한 가지만 수행해야하며 중복, 반복을 피해야 한다.

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

  • (p.45) 추상화 수준

    • 추상화 수준이 뭐였더라..? 앞에 나온 용어였나?

  • (p.47) SRP, OCP

    • 이것도 앞에서 나온단어야? 너무 자연스럽게 나오니까 나만 모르는 것 같잖아 ..

  • (p.48) 추상팩토리

    • 추상..팩..토리 ..? ㅜㅠ

  • (p.56) 인수 s가 출력 인수라는 사실은 분명하지만

    • 왜 분명하죠 .. ? 자바 문법인가