2008-11-13 122 views

回答

16

我回顧了一堆的Ruby工具,可以在這裏找到

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

大部分工具都是由webmat提到的,但如果你想了解更多信息,我走得相當的深度的例子。

我還強烈建議使用Metric-Fu,它會爲您提供3種更常用工具的gem/plugin安裝,並且考慮到cruisecontrolrb集成。

創建者有一個很棒的帖子,可以幫助你快速啓動和運行。

http://jakescruggs.blogspot.com/2008/04/dead-simple-rails-metrics-with-metricfu.html

目前已在Ruby的工具,大量的活動最近我認爲這是一個成長和成熟語言的一個好兆頭。

+0

我也會仔細看看webmat建議的reek - http://silkandspinach.net/2008/09/23/reek-a-code-smells-detector-for-ruby/。你會考慮將它包含在你的答案中嗎? – 2008-11-17 16:39:51

5

一個最近更新的有趣的工具是Ruby Object Oriented Design Inferometer - 簡稱roodi。它在v1.3.0,所以我猜它已經相當成熟了。

我還沒有嘗試過,因爲我的代碼當然已經無可非議了(哈哈)。

至於測試覆蓋(哦,親愛的,我還沒有試過這一個要麼)有rcov

而且(看,我肯定會去嘗試一些今天,一個至少),你可能關心請查看flog and flay以瞭解其他樣式檢查器和重構候選者查找器。

+0

不要忘記嘲笑你的測試!這個答案中的資源將真正推動你的項目成型......特別是在本週末發佈Flay的時候;讓人印象深刻 – mwilliams 2008-11-13 12:37:38

10

檢查這些了:

  • 關於Ruby裏面,an article presenting Towelie, Flay and Simian,所有的工具來尋找代碼重複
  • reek:爲Ruby
  • 代碼氣味探測器
  • Roodi:檢查你的Ruby代碼風格
  • flog:代碼的複雜性分析
  • rcov:會給你一個C0(如果我沒有記錯)代碼覆蓋分析。但要小心。 100%覆蓋非常昂貴,並不意味着完美的代碼。
  • heckle:以微妙的方式更改您的代碼並運行測試套件以查看它是否捕獲到它。殘酷:-)

由於它們都是命令行工具,它們都可以簡單地集成爲cc.rb任務。只需抽出你的正則表達式就可以選擇輸出的重要部分。

我建議你先試試看看它們是否與你的代碼庫配合良好,如果你喜歡它們給你的信息。一旦你找到一些能夠給你帶來價值的東西,那麼花時間把它們整合到你的cc中。

+0

偉大的答案謝謝你,瑞克看起來很有趣,對不起,我選擇了其他答案,他引用的博客文章非常全面。 – 2008-11-17 16:41:58

2

還有內置的警告,你可以快速的實現:

ruby -w 

或者在任何點詳細設置全局變量$爲true。

0

我剛剛發佈了它對Ruby代碼實現了幾個檢查的Excellent。它結合了roodi,臭氣和鞭打,也增加了一些Rails相關檢查:

gem sources -a http://gems.github.com 
sudo gem install simplabs-excellent 

可能會有所幫助......