Google, 공식 Rust 스타일 가이드 공개
원제: Rust Style Guide
왜 중요한가
대규모 멀티플랫폼 환경에서 Rust 표준화 기준이 제시돼, 업계 전반의 Rust 코드 품질 기준에 영향을 줄 수 있다.
Google이 자사 공식 Rust 스타일 가이드를 공개했다. 이 가이드는 google3, Android, ChromeOS, Fuchsia, Chrome 등 Google 전반의 코드베이스에서 Rust 사용 일관성을 확보하기 위해 마련됐으며, 코드 포맷을 넘어 API 설계·소유권·동시성·매크로·문서화 기준까지 포괄한다.
Google이 내부 및 협력 코드베이스 전반에 적용할 공식 Rust 스타일 가이드를 공개했다. 단순한 코드 포맷 규칙이 아니라, API 설계와 구현 방식까지 아우르는 포괄적 지침이다.
가이드의 적용 범위는 Google 내부 저장소인 google3뿐 아니라 Android, ChromeOS, Fuchsia, Chrome 프로젝트까지 포함한다. 각 코드베이스가 얼마나 엄격하게 적용할지는 자율적으로 결정하되, 해당 팀들과 협의 하에 가이드를 개발했다고 명시했다.
주요 내용을 살펴보면, 코드 구성 측면에서는 소형 crate 우선, 글로브(glob) 임포트 금지, 트레이트 임포트의 로컬 스코프 권장 등을 규정한다. 소유권과 차용(borrowing) 관련해서는 `Rc`·`Arc` 사용 자제, 깊은 복사보다 참조 우선 원칙을 제시한다. 동시성 항목에서는 Fuchsia 환경 한정으로 `fuchsia_sync::Mutex` 사용을 지정하고, Chrome 환경에서는 `async/.await` 및 표준 라이브러리를 통한 신규 스레드 시작을 금지했다.
가이드는 또한 `unwrap()` 대신 `expect()` 사용, 반복자 체인의 과도한 사용 지양, `panic::catch_unwind` 호출 금지, 문자열 연결 시 `format!`/`write!` 매크로 우선 적용 등 구체적인 구현 권고사항도 담았다. 가이드라인의 핵심 목표는 '작성 편의성'보다 '가독성과 유지보수성'을 우선시하는 것이라고 Google은 밝혔다.