这是我参与「第五届青训营 」伴学笔记创作活动的第7天。
Go的编程规范
今天要说的是GO语言编程中需要注意的编程规范,上至编码规范,下至变量命名。
Go的命名规范
在Go(乃至其他语言)的编程中,我们的变量命名应做到以下几点:
- 简洁易懂
- 缩略词全大写(位于变量开头且不需要导出时除外)
- 变量应就近使用,否则应携带更多上下文信息。 如,在一个循环内,我们常用的是:
for i:=0;i<10;i++
而不是:
for index:=0;index<10;index++
并且此处的i不应该再使用于其他循环(如果能),若需使用,需要重新生命。 若遇到缩略词,我们通常大写其全部,如:
x:=ServerHTTP
而不是:
x:=Serverhttp
在函数的命名时,我们需要做到:
- 简洁
- 函数名不应携带包名的上下文信息
包的命名中,同样有:
- 只由小写字母组成。不包含大写字母和下划线等字符;
- 简短并包含一定的上下文信息;
- 不要和标准库同名。
- 不使用常用变量名作为包名。例如使用
bufio而不是buf; - 使用单数而不是复数。例如使用
encoding而不是encodings; - 谨慎的使用缩写。例如使用
fmt在不破坏上下文的情况下比fotmat更简短。
否则可能会出现:
package "timeget"
timeget.get
这样冗余的尴尬情况。
GO的编码规范
- 避免嵌套 如:
if func {
return x
}
return nil
//而不是
if func {
return x
} else {
return nil
}
GO的注释
一个好的代码注释应当做到以下几点:
- 解释代码作用;
- 解释代码如何做的;
- 解释代码实现的原因;
- 解释代码什么情况会出错;
- 公共符号始终要注释(但是不需要注释实现接口的方法)。
引用
分发
This work is licensed under CC BY-SA 4.0