러스트 앤 히든 카고 클리피
그러나 어떤 이유로 Clippy는
cargo
명령 안에 숨겨진 보물처럼 보입니다. 우연히 도구의 코드를 확인하면서 이것을 찾았습니다.어떻게 하면 클리피를 얻을 수 있습니까?
이제 Clippy가
cargo
안에 있지만 cargo --help
명령을 실행할 때 나열되지 않습니다. 코드 형식을 지정하기 위해 cargo fmt
에서도 동일한 일이 발생합니다. 아마도 cargo
내부에 더 많은 부활절 달걀이 있을 것입니다.또한 CLI에 없는 경우 화물에 추가
clippy
하는 방법에 대한 guide이 있습니다.그리고 클리피는 무엇을 합니까?
모든 린터와 마찬가지로 clippy에는 manual_memcpy 과 같은 경고 목록이 있습니다.
What it does
Checks for for-loops that manually copy items between slices that could be optimized by having a memcpy.
Why is this bad
It is not as fast as a memcpy.
Example
for i in 0..src.len() {
dst[i + 64] = src[i];
}
Could be written as:
dst[64..(src.len() + 64)].clone_from_slice(&src[..]);
그리고 긴 린트 오류 목록here .
이 명령을 실행하는 방법?
Clippy는 코드를 빌드한 다음 린터를 실행하므로 Clippy는
cargo check
하위 명령과 동일한 인수를 받습니다.cargo clippy # Run in the default package(s).
cargo clippy --release # Run in release mode
cargo clippy --workspace # Checks the packages in the monorepo
cargo build --package myPkgName # An specific page
그런 다음
--
뒤에 clippy 자체에 대한 인수를 추가할 수 있습니다.RUSTFLAGS="-Dwarnings" cargo clippy -- -D warnings
이 인수를 사용하면 경고가 발생하면 빌드 작업이 실패합니다. 이 효과를 얻으려면
RUSTFLAGS="-Dwarnings"
환경 변수가 필요하지만 README에서는 이를 언급하지 않습니다.사용자 정의 구성
clippy.toml
라는 파일에서 린트 규칙을 구성할 수 있습니다. pedantic
규칙을 바꿀 수 있습니다.#![deny(clippy::pedantic)]
이러한 규칙에는 가양성 경향이 있는 매우 공격적인 린트가 포함되어 있습니다. 🤭
더 많은 예제를 확인할 수 있습니다here.
CI 구성
CI에 대한 최상의 구성은 코드 형식을 확인한 다음 코드 동작을 린트하고 마지막으로 작성한 테스트를 실행하는 것입니다.
# set env RUSTFLAGS="-Dwarnings"
cargo fmt --workspace -- --check
cargo clippy --workspace -- -D warnings
cargo test --workspace
그게 다야! 그리고... 굉장하지 않습니까?
내 생각에 1분을 보내고 린트 도구를 사용하는 것은 차이를 표시하고 코드를 전문적이고 깨끗하며 성능 있게 만드는 것 중 하나입니다.
사용하지 않는다면 지금 시작하는 것이 좋습니다! 기본 가이드가 많이 있습니다.
사용하는 것을 좋아한다면 이제 숨겨진 새로운 트릭을 알 것입니다(기분 좋죠?)
네가 생각하는 것을 말해줘!
Rust에서 유용한 도구를 찾거나 구현한 적이 있습니까? 🦀 Clippy로 코드를 개선하셨나요?
댓글로 알려주세요!
Reference
이 문제에 관하여(러스트 앤 히든 카고 클리피), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://dev.to/cloudx/rust-and-the-hidden-cargo-clippy-2a2e
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# set env RUSTFLAGS="-Dwarnings"
cargo fmt --workspace -- --check
cargo clippy --workspace -- -D warnings
cargo test --workspace
Reference
이 문제에 관하여(러스트 앤 히든 카고 클리피), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cloudx/rust-and-the-hidden-cargo-clippy-2a2e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)