TL;DR
Go のコードレビューでよく指摘される、小さなスタイルやベストプラクティスの決まりを Dmitri Shuralyov がまとめたページ。公式のスタイルガイド(go.dev/s/style)を補うものである。
なぜ必要か
レビューのたびに同じ指摘を説明し直さずに済むよう、項目ごとに理由を書き、リンクで示せるようにしている。
例
marshalingやcanceledなど、Go プロジェクトと同じ綴りを使う- エラー変数は
err、公開するパッケージレベルのエラーはErrSomethingと名付ける - 非公開の名前では、
oauthEnabledやgithubTokenのように略語やブランド名をすべて小文字にする - 人が読むコメントは
//の後に空白を 1 つ入れる。//go:generateのような空白なしの形はディレクティブに使う - 使わないレシーバには名前を付けず、
func (foo) method()と書く - 空文字列の判定は
len(s) == 0ではなくs == ""と書く - mutex は、守るフィールドの直前に置き、関係のないフィールドとは空行で分ける