RUST · CRATE API
내부 모듈과 공개 API 분리
pub use는 내부 모듈 구조를 유지하면서도 사용자가 가져다 쓰는 공개 경로를 짧고 안정적으로 정리할 수 있게 해줍니다.
재내보내기 흐름
pub use
내부 구조
kinds, utils처럼 구현을 위한 모듈을 둡니다.
깊은 경로
art::kinds::PrimaryColor처럼 사용 경로가 길어집니다.
pub use
내부 아이템을 크레이트 루트로 다시 내보냅니다.
공개 API
art::PrimaryColor처럼 단순한 경로를 제공합니다.
내부 모듈
→
선별
→
pub use
→
외부 API
설계 기준
api
내부 변경 자유
모듈 배치를 바꿔도 공개 경로는 유지할 수 있습니다.
문서 가독성
사용자가 자주 쓰는 타입이 문서 첫 화면에 드러납니다.
과한 노출 금지
모든 내부 항목을 드러내기보다 사용 흐름에 필요한 것만 올립니다.
호환성
공개 API 경로는 한 번 배포하면 변경 비용이 큽니다.