golang命名规范

可读性是评判好代码的一个标准,好的命名对可读性很重要,现在开始让自己的go代码有一个良好的命名规范吧

好的命名一般具备下面几个特征

  • 容易理解和猜测他的含义
  • 精简、编写容易不要一大串的命名
  • 能准确的表达他的含义

命名使用MixedCase

  • 不要使用带有下划线的名称如:my_app_model
  • 首字母是缩略词的就全部大写:RASPModel,IDCard
  • 局部变量尽可能的简短
  1. 索引用i 表示
  2. reader用 r表示
  3. buffer用b 表示
  • 参数也是局部变量,
    对于描述性的尽可能简短:
func handle(d Duration, f func()) *Timer

对于不太明确的参数,名称尽量有一定的含义

func Unix(sec, nsec int64) Time
func InStr(s, substr string) bool
  • 返回值
    返回值也要具备一定的意义
  • 接受者
    对于接受者名称,在同一个接受者的所有方法上名称要保持一致。
func (r *Receiver)handle1(){
}

func (r *Receiver)handle2(){
}
  • 接口类型,
    对于只有一个方法的接口,往往接口的名称后面都会带一个“er”,即使有时候不是一个英文单词,也可以这么做
type Reader interface {
    Read(b []byte)
}

type Execer interface {
    Exec(query string, args []Value) (Result, error)
}

当含有多个方法的时候,我们尽可能选择一个能够准确描述它含义的名称。

  • 包名,
    1.选择对其导出时候有意思的包名称,尽量避开util、common。
    2.包路径的最后一个组件应与包名称相同。
    3.避免使用大写字母

参考文献:
https://talks.golang.org/2014/names.slide#19

你可能感兴趣的:(golang命名规范)