함수형코딩 186~200
같은 계층에 있는 함수는 같은 목적을 가져야 하고, 두 단계 이상의 계층을 넘어서면 안된다.
함수가 가르키는 화살표의 길이(계층 이동 단계)를 비교하는 것은 복잡성을 측정하는데 좋은 방법이다. 호출 그래프를 통해 설계를 개선할 수 있는 것을 찾을 수 있다.
함수가 더 구체적인 내용을 다루지 않도록 일반적 함수로 빼내야 한다.
계층형 설계 모든 계층은 아래 계층만 의존해야 한다.
함수형 코딩 201~210
추상화 벽, 인터페이스, 설계의 만족 지점
추상화는 팀 간의 책임을 명확하게 나누는 것이다. 추상화 벽에 있는 함수를 쓸 때는 해당 함수의 구현을 몰라도 된다. 라이브러리와 API
추상화 벽은 쉽게 구현을 바꾸기 위해 사용한다. 어떻게 구현이 되었는지 호출하는 함수는 몰라도 되기 때문에 호출되는 함수를 인터페이스를 지킨 채로 마음대로 바꿔도 된다.