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