문제

Java에 대해 제가 정말 그리워하는 것 중 하나는 도구 지원입니다.FindBugs, Checkstyle 및 PMD는 코드 품질 지표와 자동 버그 검사의 삼위일체를 위해 만들어졌습니다.

간단한 버그 및/또는 Ruby 코드의 스타일 위반을 검사할 수 있는 것이 있나요?Rails 관용구를 준수하도록 Rails와 같은 프레임워크에 적용할 수 있다면 보너스 포인트가 됩니다.

도움이 되었습니까?

해결책

저는 최근 Ruby에 대해 이와 같은 것을 찾기 시작했습니다.지금까지 내가 겪은 일 :

이것이 시작점일 수 있습니다.불행히도 나는 아직 좋은 의견을 제시할 만큼 세 가지 중 어느 것도 사용하지 않았습니다.

다른 팁

Saikuro와 Flog는 코드 복잡성에 대한 기본 아이디어를 얻는 데 유용할 수 있습니다.rcov와 같은 도구를 사용하여 테스트 범위를 확인할 수도 있습니다.
모든 측정 항목을 단일 레이크 작업으로 결합하는 Rails 프로젝트용 플러그인이 있습니다.그것은이라고 미터법_푸.

최근에 발견하고 테스트한 프로젝트:

시도해 볼 수도 있습니다. 루보캅.Ruby 코드 스타일 검사기입니다. 루비 스타일 가이드.꽤 적극적으로 유지관리되고 있으며 표준 Ruby 도구(예: ripper 도서관).Ruby 1.9 및 2.0과 잘 작동하며 Emacs 통합이 뛰어납니다.도움이 되셨기를 바랍니다!

먼지 사용되지 않고 쓸모없는 코드를 찾는 데 도움이 될 것 같습니다. 이는 여러분이 원하는 것과 잘 맞는 것 같습니다.

나는 그러한 도구를 다른 것으로 알지 못합니다.
이 문제는 Java에서보다 Ruby에서 해결하기가 훨씬 어렵습니다. 모든 Java 도구는 코드의 '정적 분석'을 사용하는 것으로 브랜드화됩니다.
분석할 수 있는 정적 항목이 없기 때문에 루비 코드의 정적 분석은 종종 불가능합니다(메서드는 런타임 시 생성되는 경우가 많습니다).

어쨌든 이러한 것 중 일부는 언어에 내장되어 있기 때문에 Ruby에서는 필요하지 않습니다.예를 들어, 클래스가 모두 동일하도록 강제하기 위해 코딩 표준이 필요하지 않습니다. NamedLikeThis 그렇지 않으면 코드가 작동하지 않기 때문입니다.

추신나 가지다 이러한 종류의 도구는 종종 약간의 청어가 될 수 있다는 표준 면책 조항을 추가합니다.하루 종일 도구가 생각하는 대로 코드를 준수하도록 만들다가 결국에는 처음보다 더 많은 버그가 발생하게 될 수 있습니다.
IMHO 가장 좋은 해결책은 코드를 유창하게 작성하여 더 쉽게 읽을 수 있도록 하는 것입니다.어떤 정적 분석도 그것이 무엇을 의미하는지 명확하게 기술하는 사람이 읽는 코드만큼 좋을 수는 없습니다.이것을 할 수 있다는 점은 루비가 다른 많은 언어보다 몇 광년 앞서 있다는 점입니다.저는 개인적으로 정적 분석에 시간을 들이는 것보다 좀 더 유창하게 작성하는 방법을 배우고 팀에 이러한 내용을 교육하는 데 노력을 집중할 것을 권장합니다.

또 다른 좋은 도구는 저자에 따르면 초기 단계이지만 악취가 나는 것입니다.

http://reek.rubyforge.org/

reek에는 현재 다음 코드 냄새에 대한 매우 순진한 검사가 포함되어 있습니다.

  • 긴 방법
  • 대규모 수업
  • 기능 부러움
  • 의사소통 불가능한 이름
  • 긴 매개변수 목록
  • 유틸리티 기능
  • 중첩된 반복자
  • 제어 커플
  • 복사
  • 목록 항목

개인적으로 나는 여전히 오탐지가 너무 많다고 생각하지만 일부 코드의 출력을 보는 것만으로도 코드 스타일과 아키텍처에 대한 몇 가지 결정을 다시 생각하는 데 도움이 되었습니다.

코드 기후 git을 통해 통합하고 코드를 자동으로 "등급"하는 SaaS 도구입니다.품질이 갑자기 저하될 경우 다양한 채널을 통해 알려드립니다.UI도 좋아요.

질문을 받았을 때 이 질문이 표시되지 않았지만 제가 작성한 블로그 게시물도 도움이 될 수 있습니다.여기에서는 여러 가지 Ruby 도구를 다루고 특히 4가지 코드 품질 도구를 다룹니다.

  1. 루디
  2. 먼지
  3. 팔다
  4. 사이쿠로

Towelie and Flay도 확인해 볼 가치가 있습니다.

http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/

이제 우리는 많은 도구를 Caliper라는 유일한 Ruby 코드 품질 및 메트릭 모니터링 도구로 결합했습니다.이는 귀하의 요구 사항에 잘 맞을 수 있습니다.프로젝트 수명 동안 다양한 품질 지표를 추적합니다.

Caliper - Ruby 코드 개선

도 있습니다 훌륭한.아직 시도하지는 않았지만 역시 유망해 보입니다.

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