2016-04-27 15 views
1

他のパッケージで定数を使用できるようにGoファイル(ビルドバージョンなどの定数を含む)を生成しています。私はgo generateでファイルが作成されます小さなツールを作成しましたが、それは(ビルドに)欠けているので、もしそれが生成されることは明らかである生成されたgoファイルの名前

  • ように、適切な名前を考えてしようとしていますその後、ユーザはgo generate

  • を実行するために知っていると私は、私の最初の推測がversion_GENERATED.go

    のようなものである

.gitignoreにファイルを追加することができます0

どのような慣習を知っておくべきですか?

答えて

3

_GENERATEDのような接尾辞がファイル名に追加されても、コンパイラは"undefined: xxx"のような "無関係な"エラーを出すので、ファイルが生成されるまで情報は保持されません(コンパイラは、存在する場合は、version_GENERATED.goになります)。

たとえば、stringerジェネレータは、名前がtype_string.goのファイルを生成します。ここで、typeは、生成されるタイプの名前で置き換えられます。

だから、_genまたは_generatedという接尾辞を使用する以外は、ファイル名にはgeneral guidelinesのようにすれば十分です。また、あなたのツールが一般公開されていて他の人にも使用されている場合は、ツールの名前を接尾辞として使用してください(stringerのように)。

あなたのジェネレータは同じように、あなたのジェネレータは、名前がエラーメッセージに含まれている場合おしゃべりでエクスポートされた定数を生成することができ、実行することがまだある場合には、ユーザーがおしゃべりなエラーメッセージを取得したいならば:

const MustRunStringerGenerator = 0 

そして、あなたのプログラムのようにそれを参照してください。

var _ = MustRunStringerGenerator // Test if stringer has been run 

stringerがまだ実行されていない場合は、エラーメッセージが表示されます

関連する問題