Effective Go:Names Names /命名

簡單翻譯一下https://golang.org/doc/effective_go.html

Names /命名

Golang的命名和其他語言一樣,很重要。大寫開頭的命名將直接可以被外部讀取,我們應該花一些時間來聊一聊在golang語言裏面如何起名字。

Package name/包 命名

bytes.Buffer 是一個很好的例子,大家可以用來做個例子.根據一些約定,包(package)會被使用小寫,單一單詞命名。不需要使用 "_" 或者 “mixedCaps” 之類的命名。另外,不要擔心包名會與其他包名重名,包(package)在import的時候,是可以被重命名的. (我:舉個例子 import logger "xxx/log").

另外一個公約是關於 包名 與源代碼文件夾(directory)的一致。例如 "encoding/base64". 不應起名爲"encoding_base64" 或者“encodingBase64”.

package 名字應該與想要暴露出來的內容一致,應避免使用 "."。 例如 bufio.Reader 是非常清晰的。當想要一個實例(new instance)應直接使用New,例如 ring.Ring. Ring是ring下面唯一的type,所以應該使用 ring.New 而不是ring.NewRing.

另一個short name的例子是 once.Do; onece.Do(steup) 讀起來很舒適(我:你懂的,大牛說舒服)。而“once.DoOrWaitUntilDone(steup)” 就不舒服,長名字並不會“自動”增加可讀性。 文檔註釋總是更有價值,對比長名字。(我:這裏是說,取 簡潔的短名字,寫好註釋)

(今天先到這裏)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章