NEW: プロジェクトの最新情報はTwitterMastodonで入手してください。

コーディング規約

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ページで確認できます。