Keywords : Code Review、Jupiter、ReviewClipse、代碼評審、代碼審查

Keywords : Code Review、Jupiter、ReviewClipse、代碼評審、代碼審查


最近組內一直在做代碼改進,既然是代碼級別的改進,我想比較直接有效的辦法就是Code Review。

雖然以前開發部也做過代碼評審,但基本上是程序員手動打包代碼,評審人員對照打包和IDE中的代碼提交缺陷,缺陷在平臺上,代碼在IDE中,我想評審效率和評審效果都會大打折扣。

既然發現了問題,目標很明確,找到一個即可以提高評審效率(即讓評審人和被評審人都可以很方便的來參與評審),又可以保證評審效果的工具。

再結合我們的實際情況,我們是使用Eclipse IDE開發的,Eclipse的插件不計其數,不怕找不到,就怕你不找,因此從Eclipse Code Review Plugin 下手。

經過調研和試用,我找到兩款比較好用的免費插件:ReviewClipse 和 Jupiter 。

簡單介紹一下這兩個工具的特點和在Qone中的使用場景

ReviewClipse 

官方地址:http://www.inso.tuwien.ac.at/projects/reviewclipse/ 

這款插件是基於SVN版本比較機制進行代碼Review的工具,通過配置svn中哪些人可以評審哪些人的指定類型代碼,可以監控整個項目範圍內指定人員指定類型代碼文件的所有變更情況。通過這些變化代碼的前後版本對比,可以發現被評審人的所有代碼改動。

它比較適合在對代碼改動比較敏感的階段使用,如版本測試後期bug修改階段或者mantis上小版本bug修改。或者進行較頻繁的代碼評審時使用,如項目經理想看新人每天提交的代碼,讓新人快速提升代碼質量及改善代碼風格。

這個工具應該說是項目經理進行代碼修改影響分析的好工具,無需再自己對着SVN log,查誰改了哪些文件,然後再查影響分析了。貼個圖先:

ReviewClipse查看代碼變動
 

查看不同版本代碼的對比情況
  
同時ReviewClipse還支持多人協同的代碼評審,被評審人可以看到評審人給出的評審意見。

ReviewClipse的不足在我看來就是它只支持文件級別的代碼評審,不能提供代碼行級別的評審,並且不支持常規的代碼評審流程。

Jupiter 

jar及幫助文檔下載地址:http://code.google.com/p/jupiter-eclipse-plugin/downloads/list 

中文簡要參考文檔:http://fyting.iteye.com/blog/87489 

Jupiter解決了ReviewClipse的不足,它提供了代碼行級別的評審批註功能,方便評審參與人瞭解具體是哪些行代碼存在問題。同時,它也比較 符合常規的評審流程,被評審人提供待審代碼->評審人線下提出個人意見->組織討論會討論每個人提出的意見並確定問題及解決方案->被 評審人rework修改代碼->評審人查看修改情況。

Jupiter支持在一個項目中的多次評審,多人協同參與評審,支持多種配置庫如SVN、CVS等,支持簡單的評審流程,支持問題跟蹤。

我想Jupiter提供的這些簡單的功能,已經完全可以勝任常規的代碼評審需要,作爲常規評審比較合適。並且評審人和被評審人都可以通過Eclipse操 作,對於我們程序員來說,很方便,大家天天都要對着Eclipse,Jupiter可以讓代碼評審成爲編碼的一部分工作而又不增加評審工作量。

Jupiter雖然對常規代碼評審(Code Review)比較適合,但是對於像敏捷中的每日代碼評審就顯得有些力不從心,雖然也可以做到,但是每次評審需要指定評審文件,並且不能通過指定目錄或者 通配符方式還是有些不便的,這一點它不如ReviewClipse那麼直接精準。

先上一個Jupiter的圖:



 
  
這兩款工具完全可以結合起來使用,相信會減少不少代碼評審的工作量。

兩個工具的詳細介紹,內容比較多,有必要再單獨開2個帖子討論,當然這也得看大家的回帖和參與情況了,否則沒有發帖動力啊:)
暫時先介紹這麼多…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章