문제

내가 알고 있는 것 중 하나는 펄::비평가

그리고 내 인터넷 검색은 지금까지 여러 번의 시도에서 결과를 얻지 못했습니다.:-(

여기에 권장 사항이 있는 사람이 있나요?

코딩 표준에 따라 Perl::Critic을 구성하고 코드 기반에서 실행하는 데 도움이 되는 모든 리소스를 제공해 주시면 감사하겠습니다.

도움이 되었습니까?

해결책

프로필 설정과 관련하여 시도해 보셨나요? perlcritic --profile-proto?그러면 설치된 모든 정책과 기본값을 포함하여 두 가지 모두에 대한 설명이 포함된 모든 옵션이 perlcriticrc 형식으로 표준 출력됩니다.원하는 내용에 맞게 저장하고 편집하세요.Perl::Critic을 업그레이드할 때마다 이 명령을 다시 실행하고 현재 perlcriticrc와 비교하여 기존 정책에 대한 변경 사항을 확인하고 새 정책을 선택할 수 있습니다.

Perlcritic을 정기적으로 실행하는 측면에서 다음을 설정하십시오. 테스트::Perl::비평가 나머지 테스트와 함께 테스트하세요.이는 새로운 코드에 좋습니다.

기존 코드의 경우 테스트::Perl::비평가::진보적 대신에.T::P::C::Progressive는 처음 실행할 때 성공하지만 위반 횟수에 대한 카운트를 저장합니다.그 이후에는 개수가 하나라도 늘어나면 T::P::C::Progressive가 불만을 표시합니다.주의해야 할 한 가지는 소스 제어 시스템의 변경 사항을 되돌릴 때입니다.(당신은 하나를 사용하고 있지 않습니까?) 변경 사항을 체크인하고 테스트를 실행하면 변경 사항으로 인해 P::C 위반 수가 줄어든다고 가정해 보겠습니다.나중에 내 변경 사항이 잘못된 것으로 밝혀져 이전 코드로 되돌렸습니다.T::P::C::Progressive 테스트는 개수 감소로 인해 실패합니다.이 시점에서 가장 쉬운 방법은 히스토리 파일(기본 위치 t/.perlcritic-history)을 삭제하고 다시 실행하는 것입니다.이전 카운트를 재현해야 하며 새 항목을 작성하여 다시 줄일 수 있습니다.

Perl::Critic에는 많은 정책이 포함되어 있지만 정책에 대한 추가 기능 배포도 많이 있습니다.보세요 작업::Perl::비평가 그리고 작업::Perl::비평가::IncludeOptionalDependency.

단일 perlcriticrc가 모든 코드를 처리하도록 할 필요는 없습니다.테스트하려는 각 파일 세트에 대해 별도의 perlcriticrc 파일을 만든 다음 각 파일을 가리키는 별도의 테스트를 만듭니다.예를 들어, P::C 자체에 대한 작성자 테스트를 살펴보십시오. http://perlcritic.tigris.org/source/browse/perlcritic/trunk/Perl-Critic/xt/author/.작성자 테스트가 실행되면 P::C의 모든 코드에 대해 실행되는 테스트, 정책에만 추가 규칙을 적용하는 두 번째 테스트, P::C의 테스트를 비판하는 세 번째 테스트가 있습니다.

저는 개인적으로 모든 사람이 "잔인한" 심각도 수준에서 실행해야 한다고 생각하지만, 동의하지 않는 정책은 폐기해야 합니다.Perl::Critic은 완전히 자체 호환되지 않습니다.P::C 개발자들조차 Conway가 말하는 모든 것에 동의하지 않습니다.Perl::Critic 자체에서 사용되는 perlcriticrc 파일을 살펴보고 Perl::Critic 코드에서 "## no critic" 인스턴스를 검색하세요.현재 143명이에요.

(예, 저는 Perl::비평가 개발자 중 한 명입니다.)

다른 팁

있다 변덕스러운 대부분의 문체 표준에 적합합니다.perlcritic은 다음을 사용하여 쉽게 구성할 수 있습니다. .perlcritic 파일.저는 개인적으로 이 기능을 레벨 1에서 사용하지만 몇 가지 정책을 비활성화했습니다.

'자동화된 프레임워크' 외에도 Damian Conway의 것을 적극 추천합니다. Perl 모범 사례.나는 그가 제안한 내용에 100% 동의하지는 않지만 대부분의 경우 그는 설득력이 있습니다.

위에서 언급한 포스팅은 개발자::교수 아마도 정말 의미하는 것 같아요 개발::표지 (테스트 스위트의 코드 적용 범위를 얻으려면).

훌륭한 조합은 Eclipse용 EPIC과 perlcritic입니다. CTRL-SHIFT-C(또는 선호하는 구성 단축키)를 누르면 perlcritic이 불평할 내용을 발견한 곳마다 코드에 경고 표시기가 표시됩니다.체크인하기 전에 실행하는 것을 기억하는 것보다 훨씬 좋습니다.그리고 perlcritic의 일반적인 경우처럼 .perlcriticrc를 선택하여 규칙을 사용자 정의할 수 있습니다.우리는 버전 관리에서 .perlcriticrc를 유지하여 모든 사람이 동일한 표준을 얻도록 합니다.

외관상 모범 사례 외에도 단위 테스트 모음에서 Devel::Prof를 실행하여 테스트 적용 범위를 확인하는 것이 항상 유용하다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top