ruby 代碼檢測工具

概述:沒有人願意生活在一個有臭味的房子裏,臭味的出現說明有什麼不對勁的事情發生了,須要你去找到臭味的來源並消除臭味。若是相似的事情發生在一個App中,例如在一個Ruby on Rails項目中,發現「有臭味」的代碼並重構它是一種很好的鍛鍊。幸運地告訴你,這裏有一些寶貴的經驗能夠幫助你。html


一、Rubycriticgit

Rubycritic能給你項目中的任何單個文件進行深刻分析。每一個文件拿到一個從A(優秀)到F(差)的等級和一個關於複雜度、重複性的結果值。安全

它輸出一個界面方便的html文件來瀏覽代碼和閱讀筆記(複雜的方法,重複的代碼等)。編輯器

tool
工具


二、Rubocop測試

Rubocop是另外一個代碼分析器。它有不少的「Cops」,每一個「Cops」都是一種不一樣的檢測,都能在代碼中體現出來。Cops可以被添加和配置。管理全部選項的最佳方法是使用.rubocop.yml配置文件,就像我所使用的這個(我禁用了一些檢測):插件


1htm


2產品


3it


4


Metrics/LineLength:


Enabled:false


Documentation:


Enabled:false


它也能夠集成到你最喜歡的編輯器中,有許多的編輯器插件,我我的一般使用Sublime Text。


tool


三、Pronto

tool


Pronto對於運行分析比較不一樣的分支請求。你須要安裝你所須要的runners(這裏有pronto runners列表)


1


2


3


$ gem install pronto


$ gem install pronto-reek


$ pronto run


你能夠獲得一個變化分析,或者你能夠去作


1


$ pronto run — index


運行未變化的分析,我一般在承諾以前運行最後一個


四、Reek

tool


Reek是一種「臭味探測工具」,很是便於使用。


1


2


$ gem install reek


$ reek .



 

該工具備不少的選項,能夠在特定文件夾或文件上運行。Reek包含在Rubycritic中,也能被包含在Pronto中,若是你使用過這些工具,就不須要使用它。


五、Rails Best Practices

Rails Best Practices是一個代碼度量工具,它能檢測你的代碼而且與最佳方法對比,最後反饋一份報告。

它能被添加到pronto中,因此你不須要運行不一樣的工具。


最後要說的是,我推薦使用Code climate

它不像其餘產品僅僅是一個工具,也是一個在線服務,檢測代碼質量,安全性和測試覆蓋率。但它須要你的git帳戶,能對不一樣分支進行檢測。

如今你已經準備好進行重構(由於你的代碼被測試覆蓋了,對嗎?)

相關文章
相關標籤/搜索