RUST · CRATE API

내부 모듈과 공개 API 분리

pub use는 내부 모듈 구조를 유지하면서도 사용자가 가져다 쓰는 공개 경로를 짧게 고정해, 내부 재배치가 외부 import 경로로 번지지 않게 합니다.

재내보내기 흐름

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

공개 API 경계

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