RUST 툴체인

Rust 개발 도구 역할

rustfmt, clippy, cargo fix, rust-analyzer는 모두 코드를 도와주지만 역할이 다르다. 포맷을 맞추는 도구, lint로 위험한 패턴을 잡는 도구, 컴파일러 제안을 적용하는 도구, 에디터에서 타입과 소유권 힌트를 주는 도구를 구분해야 팀 규칙이 안정된다.

01

포맷 먼저

rustfmt로 코드 모양을 자동 고정해 리뷰가 의미 있는 차이에 집중하게 한다.

스타일 논쟁을 도구에 맡긴다
02

lint 기준 설정

clippy의 warning을 팀에서 허용할 것과 deny할 것으로 나눈다.

모든 lint가 항상 정답은 아니다
03

수정 제안 적용

cargo fix는 컴파일러가 안전하다고 판단한 제안을 적용하지만 diff 리뷰가 필요하다.

자동 수정도 의미를 읽어야 한다
04

에디터 피드백

rust-analyzer로 타입 추론, borrow 오류, 이동 위치를 작성 중에 확인한다.

진단이 느리면 workspace 설정을 본다
05

CI 고정

format check, clippy, test를 CI에서 같은 버전으로 돌려 로컬과 차이를 줄인다.

toolchain 버전 drift를 막는다
rustfmt
코드 모양 의미를 바꾸지 않고 줄바꿈과 정렬을 표준화한다.
리뷰 전 자동 실행에 적합하다
clippy
관용과 위험 패턴 불필요한 clone, 복잡한 조건, 비효율적인 반복을 잡는다.
allow에는 이유를 남긴다
cargo fix
제안 적용 edition migration이나 compiler suggestion을 빠르게 반영한다.
적용 후 테스트가 필수다
rust-analyzer
작성 중 이해 go to definition, inline type, borrow 힌트로 코드 읽기를 돕는다.
대형 workspace에서는 exclude 설정을 점검한다

팀 적용 확인

버전 고정 rust-toolchain 파일이나 CI 이미지로 도구 버전을 맞췄는지 확인한다.
CI 순서 format, clippy, test가 실패 원인을 분리해 드러내는지 본다.
자동 수정 리뷰 cargo fix 결과 diff를 읽고 의미가 바뀌지 않았는지 확인한다.