代碼審查必備,Gitee 發佈代碼質量分析工具 Gitee Scan



在項目開發的過程中,代碼質量管理是非常重要的一個環節,項目中代碼質量的高低直接影響著整個開發團隊的工作效率。雖然代碼質量本身並沒有特別明確的量化指標,而且根據公司發展的不同階段,團隊規模的不同大小,項目的不同性質等,對代碼質量的要求也不盡相同,但如果一個團隊的代碼質量過低,所帶來的問題是相同的,前 Google 工程師王爭總結過以下幾點:

添加或修改一個簡單功能時,涉及要修改的地方特別多,而且很分散代碼不可複用:相似的功能無法複用代碼,要重新開發線上 Bug 頻發,排錯困難,修復難度大,時間長有很多奇怪的代碼,代碼讀不懂,新人無法很快了解代碼代碼中坑特別多,不敢大動,一不小心就踩坑

代碼審查至關重要

這些問題單純的依靠開發後的人工測試是無法發現的,只能通過代碼審查去發現和解決。進行代碼審查時,除了嚴格執行代碼規範、編寫單元測試、必須的 Code Review、代碼模塊化等方法以外,有一件趁手的工具也是必不可少的。

Gitee 為了協助用戶提高代碼質量,進行完善的代碼審查,推出了代碼質量分析工具 Gitee Scan ,依託於 Gitee 企業版的現有功能,Gitee Scan 能夠通過掃描倉庫內的代碼,幫助開發團隊找出其中的問題,尤其是一些不需要人工審查的低質量錯誤,幫助團隊進行代碼審查,從而提高代碼質量。

Gitee Scan 可以同時從代碼缺陷和代碼規範兩個方面對代碼進行掃描,快速定位錯誤代碼和漏洞的位置,幫助開發人員將更多精力放在解決問題而不是發現問題上。目前 Gitee Scan 支持的語言有 Java、Python、PHP、C、C++、JavaScript、Go 以及獨立針對 Android 特性的掃描。

Gitee Scan 的工作方式

在使用 Gitee Scan 時,用戶可以通過兩種方式發起代碼質量分析:

進入指定倉庫中選擇倉庫分支發起全量掃描開啟新建 Pull Request 增量代碼自動掃描

當開發人員想要對以前的代碼進行錯誤檢查時,可以選擇進行全量掃描。全量掃描時,用戶可以直接選擇某個分支直接進行掃描操作併產出報告。報告中包含了缺陷報告及規範報告,在缺陷報告中,Gitee Scan 會通過 Bug、安全漏洞以及代碼異味三個類別將問題分類,方便開發人員有針對性的修改。

如下圖所示,報告中已經精準的定位到了錯誤代碼的位置以及其可能的危險程度,開發人員直接進行修改即可。

在開發人員想要對後續產生的新代碼進行錯誤檢查時,可以選擇進行增量掃描。Gitee Scan 增量掃描與全量掃描原理相同,但增量掃描更加自動化。開啟增量掃描的開關後,企業內的所有分支在接受 Pull Request 前都會經過 Gitee Scan 的自動掃描併產出報告,每提交一次 Pull Request 後都會對提交的代碼進行一次自動掃描。

更有效的掃描工具

測試結果表明,針對同一份代碼,Gitee Scan 所掃描出的漏洞數量比同類型產品 SonarQube 多出 41.7%,並且 Gitee Scan 掃描後提供了代碼評級及代碼規範報告,用戶可以對代碼質量有更直觀的瞭解。

在後續的更新中,Giee Scan 會增加更多語言的支持以及更加深度的掃描能力,並且後續計劃增加基於 CVE 的依賴項漏洞掃描,進一步幫助用戶提升研發質量和效率。

點擊下面瞭解更多訪問 Gitee 企業版。