[英]Name for a generated go file
我正在生成一個Go文件(包括諸如構建版本之類的常量等),以便常量可以在其他包中使用。 我有一個創建了一個小工具,它將使用go generate
創建文件,但我正在嘗試考慮一個合適的名稱
很明顯它是生成的,所以如果它缺失(在構建時),則用戶知道運行go generate
然后我可以將文件添加到.gitignore
我的第一個猜測是像version_GENERATED.go
我應該注意的任何約定或更好的建議?
在生成文件之前,在文件名中加上像_GENERATED
這樣的后綴不會保留任何信息,因為編譯器只會給你“無關”錯誤,如"undefined: xxx"
(編譯器不會猜測,如果標識符會存在,它將在version_GENERATED.go
)。
例如, stringer
發生器產生具有名稱的文件type_string.go
其中類型被替換為它是為生成的類型的名稱。
所以我認為僅僅遵循文件名的一般准則就足夠了,除非使用_gen
或_generated
后綴。 或者,如果您的工具是公開的並且也被其他人使用,則使用工具的名稱作為后綴(如stringer
一樣)。
如果您確實希望用戶在生成器尚未運行時收到健談錯誤消息,則生成器可能會生成一個導出的常量,如果包含在錯誤消息中,該常量的名稱是健談的,例如:
const MustRunStringerGenerator = 0
在你的程序中,請參考它:
var _ = MustRunStringerGenerator // Test if stringer has been run
如果stringer
尚未運行,您將看到一條錯誤消息:
undefined: MustRunStringerGenerator
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.