コーディング規約
cert-managerは、ほとんどのGoプロジェクトと同様に、スタイルに関する選択のほとんどを gofmt
に委ねており、インポートを整理するために goimports
を追加しています。大まかに言えば、ファイルを保存するときに goimports
を実行するようにエディターを設定すれば、コードはスタイル的に正しくなります。
cert-managerは、一般的にKubernetesのコーディング規約と、GoogleのGoコードレビューコメントにも従います。
インポートの整理
インポートは、3つのブロックに整理し、各ブロックを2つの改行で区切る必要があります。
import ("stdlib""external""internal")
例として、pkg/acme/accounts/client.go
からの次の例を示します。
import ("crypto/rsa""crypto/tls""net""net/http""time"acmeapi "golang.org/x/crypto/acme"acmecl "github.com/cert-manager/cert-manager/pkg/acme/client"acmeutil "github.com/cert-manager/cert-manager/pkg/acme/util"cmacme "github.com/cert-manager/cert-manager/pkg/apis/acme/v1""github.com/cert-manager/cert-manager/pkg/metrics""github.com/cert-manager/cert-manager/pkg/util")
標準ライブラリ、外部、内部のインポートの手動分割が完了すると、将来 goimports
が実行される際に、自動的に適用されます。
英国と米国のスペル
一貫性を保つため、cert-managerはhttps://cert-manager.dokyumento.jp のドキュメントとcert-managerのコードベース内で、en-USのスペルを使用します。en-GBからen-USへの単語の置換の包括的なリストは、UbuntuのWordSubstitution
ページで確認できます。