在開發 Go 的時候,可能也漸漸發現一些不成文的規定了(也不是這樣說,官方都有寫
這邊列出幾項
更多參考:Effective Go
現在的工具很方便,如現在使用的 VSCode 都會有警告訊息,以及使用快捷鍵 Ctrl/Cmd + S,就可以格式化程式碼、 自動匯入套件,刪除未使用變數等等。
這邊想要介紹一個觀念
約定優於配置 (convention over configuration),減少開發人員做決定的數量,獲得簡單的好處又不失靈活性。
我覺得 Go 在設計上有參考類似的概念,在關鍵字不多的情況下,以“約定”去規範程式風格或寫法,更甚至以 spec 定義下來,我自己的理解是這樣子。
再來談談與其他開發者合作這件事,其中一項重要的是協同開發。
不管是維護舊專案或者開發新專案,多多少少都會需要去閱讀及修改其他開發者的程式碼,如果工作流程中有一部分就是注意程式碼規範,那非常值得鼓勵,但是現實情況可能是沒有這樣的流程。
所以在缺乏程式碼規範的情境下,如果是使用 Go 狀況可能好一些。因為 Go 語言本身中內置了一些基本的程式碼規範和最佳實踐,各個開發者寫出來的程式碼風格也會相近,我是這樣認為的。