개발자 99% 커뮤니티에서 수다 떨어요!
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가 출력 인수라는 사실은 분명하지만
왜 분명하죠 .. ? 자바 문법인가