Java について私が本当に見逃していることの 1 つは、ツールのサポートです。FindBugs、Checkstyle、PMD は、コード品質メトリクスと自動バグ チェックの三位一体を実現します。
Ruby コードの単純なバグやスタイル違反をチェックするものはありますか? Rails のイディオムに準拠するように、Rails などのフレームワークに適応させることができればボーナス ポイントです。
Java について私が本当に見逃していることの 1 つは、ツールのサポートです。FindBugs、Checkstyle、PMD は、コード品質メトリクスと自動バグ チェックの三位一体を実現します。
Ruby コードの単純なバグやスタイル違反をチェックするものはありますか? Rails のイディオムに準拠するように、Rails などのフレームワークに適応させることができればボーナス ポイントです。
Saikuro と Flog は、コードの複雑さの基本的な考え方を理解するのに適しています。rcov などのツールを使用して、テスト カバレッジを確認することもできます。
これらすべてのメトリクスを 1 つの rake タスクに結合する Rails プロジェクト用のプラグインがあります。これはmetric_fuと呼ばれます。
最近見つけてテストしたプロジェクト:
RuboCopを試してみてください。Ruby Style Guideに基づいた Ruby コード スタイル チェッカーです。ripper
これはかなり活発に維持されており、標準の Ruby ツール (ライブラリなど) に基づいています。Ruby 1.9 および 2.0 でうまく動作し、Emacs との優れた統合を備えています。お役に立てば幸いです。
Dustは、使用されていない役に立たないコードを見つけるのに役立つように見えます。
私は他のそのようなツールを知りません。
この問題は、Java よりも Ruby で対処する方がはるかに困難です。これらすべての Java ツールは、コードの「静的分析」を使用していると自らをブランド化していることに注意してください。
分析できる静的なものがないため、Ruby コードの静的分析はしばしば不可能です (メソッドは実行時に作成されることが多いなど)。
いずれにせよ、これらのいくつかは Ruby で組み込まれているため不要です。たとえば、クラスがすべてであることを強制するためのコーディング標準は必要ありません。そうNamedLikeThis
でない場合、コードは機能しないからです。
PS 私は、この種のツールはしばしばちょっとしたニシンになる可能性があるという標準的な免責事項を追加する必要があります. ツールが想定するコードに準拠させるために 1 日を費やし、当初よりも多くのバグが発生する可能性があります。
私見の最善の解決策は、コードを流暢に書いて、より簡単に読めるようにすることです。静的分析の量は、人間がコードを読んで、それが何を意味するのかを明確に示しているほど優れたものにはなりません。これができるという点で、Ruby は他の多くの言語より何光年も先を行っています。個人的には、静的分析に時間を費やすよりも、より流暢に書く方法を学び、そのようなことについてチームを教育することに努力を向けることをお勧めします.
もう 1 つの優れたツールですが、著者によると初期段階では reek です。
reek には現在、次のコードのにおいに対する非常に単純なチェックが含まれています。
個人的には、まだ誤検知が多すぎると思いますが、コードの一部の出力を見るだけで、コード スタイルとアーキテクチャに関するいくつかの決定を再考するのに役立ちました。
Code Climateは、git を介して統合し、コードを自動的に「評価」する SaaS ツールです。品質が急激に低下した場合、さまざまなチャネルを介して通知します。UIもナイス。
尋ねられたときにこの質問は表示されませんでしたが、私が行ったブログ投稿も役立つかもしれません. その中で、Ruby ツールの束をカバーし、具体的には 4 つのコード品質ツールをカバーしています...
タオルリーとフレイもチェックする価値があるかもしれません
http://devver.wordpress.com/2008/10/03/ruby-tools-roundup/
今では、多くのツールを組み合わせて、Caliper と呼ばれる唯一の Ruby コード品質およびメトリック監視ツールにまとめました。これはあなたのニーズによく合うかもしれません。プロジェクトの存続期間中、さまざまな品質指標を追跡します。
優れものもあります。まだ試していませんが、有望そうです。