Decisions over Patterns
이 섹션은
“어떤 패턴을 써야 하는가“보다
“왜 이 결정이 필요한가“를 먼저 묻는 글들로 구성되어 있다.
패턴은 결과물이지,
시작점이 아니다.
왜 Decisions over Patterns인가
패턴을 먼저 선택하고
문제를 그 안에 끼워 맞추려 하면,
불필요한 복잡도가 생긴다.
패턴은
문제와 제약을 이해한 후에
자연스럽게 도출되는 결정의 결과다.
이 섹션은
“이 패턴을 써야 해”가 아니라,
“이 상황에서 이런 이유로 이런 결정을 내렸다”를 기록한다.
Mental Model에서 여기로
Mental Model은
프레임워크에 독립적인 사고의 관점을 제공한다.
복잡도는 어디서 오는가.
무엇을 나누고 무엇을 묶을 것인가.
암시와 명시 사이에서 무엇을 선택할 것인가.
이 관점들로 코드를 바라보면,
React에서 구체적인 질문들을 만나게 된다.
상태가 복잡해지면
“이 상태를 어디에 둘 것인가”를 묻게 되고,
명시성을 생각하면
“제어 컴포넌트와 비제어 컴포넌트 중 무엇을 선택할 것인가”를 묻게 되며,
관심사 분리를 고민하면
“이 로직을 훅으로 뺄 것인가, 그대로 둘 것인가”를 묻게 된다.
이 섹션은
그 구체적인 질문들을 다룬다.
각 문서는 독립적으로 읽을 수 있다.
하지만 Mental Model을 먼저 읽었다면,
왜 이런 질문이 떠오르는지 더 선명하게 보일 것이다.