命名规则
- 整个应用或包的主入口文件应当是 或与应用名称简写相同。例如:
Gogs
的主入口文件名为gogs.go
。
常量均需使用全部大写字母组成,并使用下划线分词:
const APP_VER = "0.7.0.1110 Beta"
如果模块的功能较为复杂、常量名称容易混淆的情况下,为了更好地区分枚举类型,可以使用完整的前缀:
type PullRequestStatus int
const (
PULL_REQUEST_STATUS_CHECKING
PULL_REQUEST_STATUS_MERGEABLE
- 变量命名基本上遵循相应的英文表达或简写。
- 在相对简单的环境(对象数量少、针对性强)中,可以将一些名称由完整单词简写为单个字母,例如:
user
可以简写为u
userID
可以简写uid
上条规则也适用于结构定义:
// Webhook represents a web hook object.
type Webhook struct {
ID int64 `xorm:"pk autoincr"`
RepoID int64
OrgID int64
ContentType HookContentType
Secret string `xorm:"TEXT"`
Events string `xorm:"TEXT"`
*HookEvent `xorm:"-"`
IsSSL bool `xorm:"is_ssl"`
IsActive bool
HookTaskType HookTaskType
Meta string `xorm:"TEXT"` // store hook-specific attributes
LastStatus HookStatus // Last delivery status
Created time.Time `xorm:"CREATED"`
Updated time.Time `xorm:"UPDATED"`
}
变量命名惯例
- 如果变量为私有,且特有名词为首个单词,则使用小写,如
apiClient
。 - 其它情况都应当使用该名词原有的写法,如
APIClient
、、UserID
。
下面列举了一些常见的特有名词: