루스트 프로젝트는 크레이트라는 기본 컴파일 단위로 구성되며, 라이브러리 크레이트(lib 크레이트) 또는 실행 파일 크레이트(binary 크레이트)으로 분류된다. 패키지는하나 이상의 크레이트를 그룹화하며, Cargo.toml 및 Cargo.lock 파일에 메타데이터 및 종속성을 지정하여 관리된다. 라이브러리 크레이트의 루트 파일은 src/lib.rs이고, 바이너리 크레이트의 루트 파일은 src/main.rs이다. 유닛 테스트 및 성능 테스트는 각각 tests/ 및 benches/ 디렉터리에 위치한다. 대규모 프로젝트에서는 워크스페이스를 사용하여 단일 프로젝트 내의 여러 패키지를 관리한다. 워크스페이스는 관련 패키지 간의 의존성 관리, 빌드 및 테스트를 간소화하여 일관성 및 효율성을 보장한다. 워크스페이스의 Cargo.toml 파일은 워크스페이스 멤버 및 공유 의존성을 정의하여 패키지 간의 중복 의존성을 피할 수 있다. 패키지 간의 의존성은 워크스페이스 내에서 선언하여 패키지가 서로의 코드를 사용할 수 있도록 한다. 이러한 구조화된 접근 방식은 대규모 루스트 개발을 촉진하고 유지 보수를 개선한다. 마지막으로는 루스트 프로젝트 호스팅 플랫폼인 Leapcell에 대한 홍보 메시지로 마무리된다.
dev.to
Mastering Large Project Organization in Rust
Create attached notes ...
