被分配個調研任務,代碼評審工具
調研任務
任務由來
目前應用組代碼審核工作依賴於bug解決難易度,長時間不能解決的問題才會引入他人聯合查找原因,很多bug原因是由於人員編程習慣、熟練度的不同導致,此種方式無法保障代碼質量,而每周騰出固定時間進行集體代碼審核不但影響開發進度,而且每次都要過幾乎全部代碼或者對比之前提交的每個版本代碼,再或者由編寫者描述修改位置、內容,審核者審核,效率低且容易遺漏代碼變更點,發現問題后還需要與代碼編寫者溝通問題代碼位置、調整建議,此過程還需要手動記錄,不然兩方都很容易遺忘,影響問題代碼修正。
基於以上原因,急需依賴於代碼版本管理庫的代碼審核平台,可以在線針對代碼編寫人員每次提交進行迭代代碼審核,無需每次閱讀完整代碼,且支持在線批注代碼,記錄問題代碼的同時,方便代碼編寫者查看他人批注的問題代碼,修改后也便於批注者確認代碼修正,甚至可以進一步加固主線代碼可用性,設定未審核代碼不能提交至主線,相信其它組也用得上。
代碼審核平台一年前李工帶人做過調研,提出過四五個,我們組自己搭建驗證過多數,都很難達到預期效果,只有gerrit平台沒有搭建成功試用,后來王工安排井工嘗試過搭建,后因開發進度問題沒有繼續,建議優先嘗試
gerrit
,有其他合適的平台也可以進行搭建試用,試用工作我們組可以進行,需要代碼版本庫對接也可以對接北京git服務器。隨着和視X平台量產啟動,不論對終端還是平台的開發都是個挑戰,一方面要保障平台的穩定負載,另一方面要保障終端老化運行的穩定性,在功能邏輯完善的前提下,代碼邏輯質量這些細節之處就顯得尤為重要,所以還請盡快解決啊!
另,建議順便搭建試用類似
redmine
之類的完整項目管理平台,可以節省相關項目文檔修改、傳遞、同步、整理上的時間,實現看板、任務統計管理在線化,任務變更可追溯,加強人員對項目進度信息的了解,項目收尾階段導出相關數據結合現有WBS表格樣式作為項目歸檔使用。
分析
看完文字,直覺就是在說要用Github,又想到Github現在支持私有庫
買現成的企業版肯定不如自己搭建一個服務來得方便,看來是要我搭建一個
gerrit
了一個疑問:Github上的評論系統不是挺好的么?難道不適合評審代碼?
現有的git服務是什么?是搭建了一個Gitlab么?
實踐
搭建
gerrit
:
參考1
調研兩個代碼評審工具:https://blog.csdn.net/No__names/article/details/79872395
代碼評審在今天的軟件行業變得越來越重要,選擇並熟悉一款優秀高效的代碼評審工具也是十分有必要的。
現有代碼評審工具很多,優秀的也不少,簡單對兩款代碼評審工具進行了了解調研。
Gerrit
Gerrit是一種免費、開放源代碼的代碼審查軟件,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟件程序員,可以相互審閱彼此修改后的程序代碼,決定是否能夠提交,退回或者繼續修改。它使用Git作為底層版本控制系統。它分支自Rietveld,作者為Google公司的Shawn Pearce,原先是為了管理Android計划而產生。
Gerrit的優點:Gerrit通過允許任何授權用戶將更改提交給主Git存儲庫來簡化基於Git的項目維護,而不是要求所有已批准的更改由項目維護者手動合並。這在一定程度上提高了項目更新的靈活度,減輕了項目維護管理者的負擔。
Gerrit的缺點:不過上述做法的缺點也比較明顯,在提高項目更新的靈活度的同時帶來了風險,因為任何曾經獲取過授權的人都有權限更改項目代碼,這將容易導致項目代碼被頻繁隨意更改。
Barkeep
Barkeep的優點:將會把對Git上代碼倉庫進行的修改通過郵件的方式通知給用戶,便於用戶隨時跟蹤項目進度。同時它設置了相關語法語句的高亮顯示,對於使用者的高效閱讀是很有幫助的。除此之外它還有的優點有:干凈的UI,簡單容易的使用方法,幽默的語言等。
Barkeep的缺點:正如Barkeep團隊所說,每個軟件系統都有它的缺點,Barkeep也不例外,對於Barkeep而言,它似乎不如Gerrit靈活。
關於碼雲
企業版套餐常見問題:https://gitee.com/help/articles/4203#article-header0
5人小團隊免費似乎不錯
關於Github
作為程序員,不會用Github應該是不合格的。
至於Github訪問速度慢,FQ就是了。
關於Gitlab
相信很多技術人員都知道有個github造福開發人員的git(分布式版本管理工具)代碼管理社區,可以說現在git是開發人員的必備技能之一
本周有個朋友公司需要一個類似github的代碼倉庫管理系統,本人選擇了gitlab(沒有什么對比了,好像目前就gitlab最好了並且維護也不錯了),下面就來說說搭建私有github系統的過程
關於Gitbook
通過 GitBook 開源框架和 GitHub 私有化部署 Wiki 文檔:https://blog.csdn.net/java1573/article/details/78851270
關於Gerrit
官網:https://www.gerritcodereview.com
在Linux上安裝Gerrit的快速入門:https://gerrit-documentation.storage.googleapis.com/Documentation/2.16.5/linux-quickstart.html
Gerrit是一個建立在Git版本控制系統之上,基於Web的代碼審查工具。
Gerrit是一種免費、開放源代碼的代碼審查軟件,使用網頁界面。利用網頁瀏覽器,同一個團隊的軟件程序員,可以相互審閱彼此修改后的程序代碼,決定是否能夠提交,退回或者繼續修改。
代碼審核(Code Review)是軟件研發質量保障機制中非常重要的一環,但在實際項目執行過程中,卻因為種種原因被Delay甚至是忽略。在實踐中,免費、開放源代碼的代碼審查軟件Gerrit是一個很好的選擇。
它在傳統的源碼管理協作流程中強制性引入代碼審核機制,通過人工代碼審核和自動化代碼驗證過程,將不符合要求的代碼屏蔽在代碼庫之外,確保核心代碼多人校驗、多人互備和自動化構建核驗。
Gerrit適用性:幾乎任何需要正式發布的項目都應當使用Gerrit來進行代碼審查,如果Team中有新人,必須使用Gerrit確保代碼質量。
Gerrit上進行代碼審查,確認入庫
Verify:工程里面接入了jenkins自動verify,結果可在上圖紅框內展示verify結果。
review代碼,提交入庫。
【Gerrit】Linux + Gerrit + Nginx + gitweb安裝全過程:http://lipeng1667.github.io/2017/01/17/build-gerrit-with-nginx/#開發環境
Gerrit安裝和使用說明:http://www.cnblogs.com/smallcoderhujin/p/3937641.html
Gerrit代碼審核服務器搭建全過程:https://blog.csdn.net/tq08g2z/article/details/78627653
centos部署配置gerrit+gitlab實現代碼的review與自動同步:http://blog.51cto.com/nanfeibobo/2089513
關於Git
Git本地服務器搭建及使用:https://www.cnblogs.com/linsanshu/p/5512038.html
搭建屬於你自己的 Git 服務器:https://linux.cn/article-9858-1.html