網頁

2021/8/22

Go short Variable Names convention 簡短的變數命名慣例

開始學習Go三個月下來最讓我感到疑惑之一的是Go的變數命名。除了MixedCase命名(camelCase)可以理解外,過於簡短的命名對身為Java工程師和讀過Clean Code的我不太能理解。


在Go的標準函式庫(Standard library)及一些知名的函式庫如Gin的原始碼中都看到變數的名稱都非常簡短的縮寫,例如router變數命名為r,Engine命名為e,error命名為err等,和我以前讀Clean Code裡面提到命名越清楚越好且不要用縮寫的原則不太一樣,也和我一直在Java用的函示庫所見不同。

今天為此特地Google了一番,找到一些文件和文章說明了Go變數命名慣例如下。


總之Go語言鼓勵在有範圍的scope中使用簡短的變數命名,且命名中避免重複type的命名,例如在Java我習慣命名變數為employeeListsupplierMap,但在Go可能會命名empssm

至於這樣的方式好不好見仁見智,但官方推崇這簡短的命名方式也只能遵循了。



沒有留言:

張貼留言