Go 語言專案程式碼品質

栏目: Go · 发布时间: 7年前

Go 語言專案程式碼品質 本篇想介紹我在寫開源專案會用到的 工具 及服務,其實在編譯 Go 語言 同時,就已經確保了一次程式碼品質,或者是在編譯之前會跑 go fmtgo vet 的驗證,網路上也蠻多工具可以提供更多驗證,像是:
  • errcheck (檢查是否略過錯誤驗證)
  • unused (檢查沒用到的 func, variable or const)
  • structcheck (檢查 struct 內沒有用到的 field)
  • varcheck (拿掉沒有用到的 const 變數)
  • deadcode (沒有用到的程式碼)
但是這麼多驗證工具,要一一導入專案,實在有點麻煩,我自己在公司內部只有驗證 go fmtgo vetmisspell-check (驗證英文單字是否錯誤) 及 vendor-check (驗證開發者是否有去修改過 vendor 而沒有恢復修正)。如果你有在玩開源專案,其實可以不用這麼麻煩,導入兩套工具就可以讓你安心驗證別人發的 PR。底下來介紹一套工具及另外一套雲端服務。

影片介紹

我錄製了一段影片介紹這兩套工具及服務,不想看本文的可以直接看影片 此影片同步在 Udemy 課程 內,如果有購買課程的朋友們,也可以在 Udemy 上面觀看,如果想學習更多 Go 語言教學,現在可以透過 $1800 價格購買。

golangci.com 服務

先說好這 套服務 對於私有專案是需要付費的,如果是開源專案,請盡情使用,目前只有支援 GitHub 上面的專案為主,不支援像是 GitLab 或 Bitbucket。對於有在寫 Go 開源專案的開發者,務必啟用這服務,此服務幫忙驗證超多檢查,請看底下 Go 語言專案程式碼品質 當然不只有幫忙整合 CI/CD 的功能,還會在每個 PR 只要遇到驗證錯誤,直接會有 Bot 留言 Go 語言專案程式碼品質 非常的方便,假設您的團隊有在 GitHub 使用,強烈建議導入這套服務。另外也可以進入 Repo 列表內看到詳細的錯誤清單。 Go 語言專案程式碼品質

go-critic 工具

go-critic 也是一套檢查程式碼品質的工具,只提供 CLI 方式驗證,不提供雲端整合服務,如果要導入 CI/CD 流程,請自行取用,為什麼特別介紹這套,這套工具其實是在幫助您如何寫出 Best Practice 的 Go 語言程式碼,就算你不打算用這套工具,那推薦壹定要閱讀完 驗證清單 ,這會讓專案的程式碼品質再提升。像是寫 Bool 函式,可能會這樣命名:
func Enabled() bool
用了此工具,會建議寫成 (是不是更好閱讀了)
func IsEnabled() bool
還有很多驗證請自行參考,不過此工具會根據專案的大小來決定執行時間,所以我個人不推薦導入 CI/CD 流程,而是久久可以在自己電腦跑一次,一次性修改全部,這樣才不會影響部署時間。

心得

上面提供的兩套工具及服務,大家如果有興趣,歡迎導入,第一套雲服務我個人都用在開源專案,第二套工具,會用在公司內部專案,但是不會導入在 CI/CD 流程內。

以上所述就是小编给大家介绍的《Go 語言專案程式碼品質》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

优秀网站设计

优秀网站设计

林奇 (Patrick J.Lynch)、霍顿 (Sarah Horton) / 机械工业出版社 / 2012-10-1 / 69.00元

优秀网站设计:打造有吸引力的网站(原书第3版),ISBN:9787111399599,作者:(美)Patrick J. Lynch Sarah Horton 著,李静等译一起来看看 《优秀网站设计》 这本书的介绍吧!

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具