flyhigh

Use your source, Luke!

Effective Go+αで書かれてるネーミング規約

Effective GoGo language community wikiを 必要になったので読んでみたが、いろいろ長ったらしい。なのでまとめた。

パッケージ名

bytesみたく、小さくまとめる。そしてすべて小文字で。名前衝突は考えなくていい。起こることがレアだし、最悪、Goでは違う名前でのimportができる。たとえばmp3.MP3Fileというのではなく、mp3.File でよい。どうせパッケージ名付きで呼び出すのだから。

アクセサ (Getter, Setter)名

Getter / Setterをつくるのは良い。しかし、Getterの先頭にGetはいらない。

1
2
obj.Field() // getter
obj.SetField(); // setter

インターフェース名

Reader, Writerのように、-erで終えろ。

変数名

アンダースコアはいれない。MixedCap, mixedCapというようなスタイルで。 短い名前推奨。lineCountより、c。メソッドのレシーバーなんかは1,2文字でよい。あと、省略した場合はすべて大文字で。URIと略したら、SetUriではなくSetURIと書くように。

参考

Effective go (Naming)

Go language community wiki