原創(chuàng)|行業(yè)資訊|編輯:龔雪|2015-10-21 12:20:41.000|閱讀 410 次
概述:沒有人愿意生活在一個有臭味的房子里,臭味的出現(xiàn)說明有什么不對勁的事情發(fā)生了,需要你去找到臭味的來源并消除臭味。如果類似的事情發(fā)生在一個App中,例如在一個Ruby on Rails項目中,發(fā)現(xiàn)“有臭味”的代碼并重構(gòu)它是一種很好的鍛煉。幸運地告訴你,這里有一些寶貴的經(jīng)驗可以幫助你。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Rubycritic能給你項目中的任何單個文件進行深入分析。每個文件拿到一個從A(優(yōu)秀)到F(差)的等級和一個關(guān)于復(fù)雜度、重復(fù)性的結(jié)果值。
它輸出一個界面方便的html文件來瀏覽代碼和閱讀筆記(復(fù)雜的方法,重復(fù)的代碼等)。
Rubocop是另一個代碼分析器。它有很多的“Cops”,每個“Cops”都是一種不同的檢測,都能在代碼中體現(xiàn)出來。Cops能夠被添加和配置。管理所有選項的最佳方法是使用.rubocop.yml配置文件,就像我所使用的這個(我禁用了一些檢測):
Metrics/LineLength: Enabled: false Documentation: Enabled: false
它也可以集成到你最喜歡的編輯器中,有許多的編輯器插件,我個人通常使用Sublime Text。
Pronto對于運行分析比較不同的分支請求。你需要安裝你所需要的runners(這里有列表)
$ gem install pronto $ gem install pronto-reek $ pronto run
你可以得到一個變化分析,或者你可以去做
$ pronto run — index
運行未變化的分析,我通常在承諾之前運行最后一個
Reek是一種“臭味探測工具”,非常便于使用。
$ gem install reek $ reek .
該工具有很多的選項,可以在特定文件夾或文件上運行。Reek包含在Rubycritic中,也能被包含在Pronto中,如果你使用過這些工具,就不需要使用它。
Rails Best Practices是一個代碼度量工具,它能檢測你的代碼并且與最佳方法對比,最后反饋一份報告。
它能被添加到pronto中,所以你不需要運行不同的工具。
最后要說的是,我推薦使用
它不像其他產(chǎn)品僅僅是一個工具,也是一個在線服務(wù),檢測代碼質(zhì)量,安全性和測試覆蓋率。但它需要你的git賬戶,能對不同分支進行檢測。
現(xiàn)在你已經(jīng)準(zhǔn)備好進行重構(gòu)(因為你的代碼被測試覆蓋了,對嗎?)
本文翻譯自
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn