3장. 함수
함수는 작게 만들어라
함수는 작게 만들수록 좋다.
또한 한 가지의 기능만 하는 것이 좋다.
대신 그 한가지를 잘하자.
사실 함수에서 한가지 기능만 수행하더라도, 보는 관점에 따라 여러가지 일을 한다고 생각할 수도 있다.
정 모르겠다면, 해당 함수 안에서 추상화가 단계가 하나인 단계만 수행하는것이라고 생각하자.
즉, 들여쓰기 수준을 1단이나 2단을 넘기지 않게 하면 된다.
3단 이상이 된다면 기능들을 함수로 나눠서 추상화를 진행하자.
내려가기 규칙
코드는 위에서 아래로 내려가는 이야기처럼 짜자.
서술적인 이름을 사용하라
길어도 좋으니 말이다!
함수 인자는 2개 이하로 하자
제발!
부수효과를 일으키지 말자
이건... 정말 힘들다.
1~2장에서 리팩토링을 줄이기 위해서 처음부터 구조를 제대로 잡고 가야한다고 했다.
구조를 잡고, 어떤 기능을 만들지 생각을 안하면, 함수 안에 기능들을 우겨넣게 된다.
이는 결국 부수효과... 즉 사이드이펙트를 일으킨다.
이것 때문에 결국 리팩토링이 반복되고, 바꾸면 바꿀수록 코드 전체를 바꾸게 된다.
아무리 편하게 코드를 짜고 싶어도 부수효과는 지양하자.
반복하지 마라
반복하지 말라는 말은 클린하게 코드를 짜는것과 일맥상통한다....
리팩토링을 할 여지를 최대한 줄이자.
또한 반복은 중복을 일으킬 확률도 있다. 절대! 조심하자.
후기
전체적인 내용은 이해가 간다.
어찌보며 1, 2장에서 설명하고자 하는 내용과 맥락이 통한다.
그저... 책을 읽어봐도 추상화 단계를 어떻게 잡아야할지 잘 모르겠다.
어떤 함수는 추상화가 깊게 이어질 수도 있고, 비슷한 기능을 하는 변수와 함수는 점점 많아진다.
네이밍은 비슷한게 많아지면서 점점 짓기 힘들어지고, 이는 혼동을 초래한다.
사실... 개발 경험이 그렇게 많지 않기에 아직 모르는거라고도 생각한다.
공부..계속 하자.