원문: https://github.com/facebook/astryx/wiki/API-Arbitration · 번역 기준: 2026-09-03

의견이 아니라 데이터로 API 디자인 논쟁을 해결하는 방법입니다. 올바른 답이 명확하지 않을 때 API 형태들 사이에서 선택하기 위한 운영 프로세스입니다.


언제 사용하는가 (When to Use This)

모든 API 결정에 arbitration이 필요한 것은 아닙니다. 다음 경우에 이 프로세스를 사용하십시오:

다음에는 사용하지 마십시오:


프로세스 (The Process)

네 개의 phase를 순서대로 진행합니다. Phase를 건너뛰지 마십시오 — 각 phase가 다음 phase에 입력을 제공합니다.

Phase 1: API 옵션 탐색 (Explore API Options)

현실적인 디자인 공간을 열거하십시오. 두 옵션에 성급하게 anchoring하지 말고 — 전체 범위를 고려하십시오:

차원 탐색할 옵션
추상화 수준 Hook vs prop vs wrapper 컴포넌트 vs context provider
네이밍 순진한(naive) 개발자라면 무엇을 검색할까? 각 이름이 어떤 mental model을 촉발하는가?
설정(Configuration) 일반 boolean vs `boolean \
소유권(Ownership) 부모의 상태(hoisted) vs 자식의 상태(local) vs 공유 context
Composition 부모의 slot vs 독립적인 자식 vs render prop vs compound component
세분성(Granularity) Mode를 가진 하나의 컴포넌트 vs mode별 개별 컴포넌트