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