質問

Java に関して私が本当に残念に思っていることの 1 つは、ツールのサポートです。FindBugs、Checkstyle、PMD は、コード品質メトリクスと自動バグ チェックの三位一体を実現します。

Ruby コードの単純なバグやスタイル違反をチェックするものはありますか?Rails のイディオムが遵守されるように、Rails などのフレームワークに適応させることができればボーナス ポイントです。

役に立ちましたか?

解決

私は最近、Ruby 用にこのようなものを探し始めました。これまでに遭遇したこと:

これらが出発点かもしれません。残念ながら、私はまだ 3 つのうちどれも十分に活用していないため、良い意見を述べることはできません。

他のヒント

Saikuro と Flog は、コードの複雑さの基本的な概念を理解するのに適しています。rcov などのツールを使用してテスト カバレッジを確認することもできます。
これらすべてのメトリクスを単一の rake タスクに結合する Rails プロジェクト用のプラグインがあります。いわゆる metric_fu.

最近見つけてテストしたプロジェクト:

試してみてはいかがでしょうか ルボコップ. 。これは、Ruby コード スタイル チェッカーです。 Ruby スタイルガイド. 。これはかなり積極的に保守されており、標準の Ruby ツール ( ripper 図書館)。Ruby 1.9 および 2.0 でうまく動作し、Emacs との統合も優れています。ぜひお役立てください。

ほこり 未使用の役に立たないコードを見つけるのに役立ちそうです。これは、あなたが求めているものにある程度合っているようです。

他にそのようなツールを知りません。
この問題は、Java よりも Ruby で対処するのがはるかに困難です。これらの Java ツールはすべて、コードの「静的分析」を使用していると宣伝していることに気づくでしょう。
Ruby コードの静的分析は、分析できる静的なものが何もないため、多くの場合不可能です (メソッドは実行時に作成されることがよくあります)。

いずれにしても、これらの機能の一部は、言語に組み込まれているため、Ruby では不要です。たとえば、クラスがすべて NamedLikeThis そうしないとコードが機能しないからです。

追伸私 持っている こういった種類のツールは、往々にしてやや危険なものになる可能性があるという標準的な免責事項を付け加えておきます。コードをツールが考えるものに準拠させるのに一日中費やし、最終的に当初よりも多くのバグが発生する可能性があります。
私の意見では、最善の解決策は、コードをより読みやすくするために流暢に書くことです。どれだけの静的分析を行っても、その目的を明確に示したコードを人間が読み取ることほど優れたものは得られません。これができるという点で、Ruby は他の多くの言語よりも何光年も先を行っています。個人的には、静的分析に時間を費やすよりも、より流暢に書く方法を学び、そのようなことについてチームを教育することに努力を向けることをお勧めします。

もう 1 つの素晴らしいツールですが、著者によれば初期段階ではありますが、次のような臭いがします。

http://reek.rubyforge.org/

reek には現在、次のコード臭に対する非常に単純なチェックが含まれています。

  • ロングメソッド
  • 大人数クラス
  • 機能羨望
  • 伝わりにくい名前
  • 長いパラメータリスト
  • 効用関数
  • ネストされたイテレータ
  • コントロールカップル
  • 複製
  • リスト項目

個人的には、まだ誤検知が多すぎると思いますが、コードの一部の出力を確認するだけで、コード スタイルとアーキテクチャに関するいくつかの決定を再考するのに役立ちました。

コード環境 は、git を介して統合され、コードを自動的に「採点」する SaaS ツールです。品質が突然低下した場合は、さまざまなチャネルを通じて通知します。UIも素敵。

質問されたときにこの質問は表示されませんでしたが、私が行ったブログ投稿も役立つかもしれません。その中で私は一連の Ruby ツールを取り上げており、特に 4 つのコード品質ツールを取り上げています...

  1. ルーディ
  2. ほこり
  3. フロッグ
  4. サイクロ

タオルリーとフレイもチェックしてみる価値があるかもしれません

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

現在、多くのツールを結合して、Caliper と呼ばれる唯一の Ruby コード品質およびメトリクス監視ツールを作成しました。これはあなたのニーズによく合うかもしれません。プロジェクトの存続期間全体にわたって、さまざまな品質指標を追跡します。

Caliper - Ruby コードを改善する

もあります 素晴らしい. 。まだ試していませんが、これも期待できそうです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top