RUST · CRATE API

내부 모듈과 공개 API 분리

pub use는 내부 모듈 구조를 유지하면서도 사용자가 가져다 쓰는 공개 경로를 짧고 안정적으로 정리할 수 있게 해줍니다.

재내보내기 흐름

pub use
내부 구조kinds, utils처럼 구현을 위한 모듈을 둡니다.
깊은 경로art::kinds::PrimaryColor처럼 사용 경로가 길어집니다.
pub use내부 아이템을 크레이트 루트로 다시 내보냅니다.
공개 APIart::PrimaryColor처럼 단순한 경로를 제공합니다.
내부 모듈선별pub use외부 API

설계 기준

api
내부 변경 자유모듈 배치를 바꿔도 공개 경로는 유지할 수 있습니다.
문서 가독성사용자가 자주 쓰는 타입이 문서 첫 화면에 드러납니다.
과한 노출 금지모든 내부 항목을 드러내기보다 사용 흐름에 필요한 것만 올립니다.
호환성공개 API 경로는 한 번 배포하면 변경 비용이 큽니다.