这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
1.高质量编程
编写的代码能够表达到正确可靠、简洁清晰的目标称之为高质量代码
正确性:是否考虑各种边界条件,错误的调用是否能够处理
可靠性:异常情况或者错误的处理策略是否明确,依赖的服务出现异常是否能够处理
简洁:逻辑是否简单,后续调整功能或新增功能是否能够快速支持
清晰:其他人在阅读理解代码的时候是否能清楚明白,重构或者修改功能是否不会担心出现无法预料的问题
编译原则:要遵循简单性、可读性和生产力
2.编码规范
代码格式
Go语言官方提供的工具,能自动格式化Go语言代码为官方统一风格 有gofmt、goimports等
注释
注释应该做的:
- 解释代码作用
- 解释代码如何做的
- 解释代码实现的原因
- 解释代码什么情况会出错
- 公共符号始终要注释
命名规范
variable
- 简介胜于冗长
- 缩写词全大写,但当其位于变量开头且不需要导出时,使用全小写
- 变量距离其被使用的地方越远,则需要携带越多的上下文信息
function
- 函数名不携带包名的上下文信息,因为包名和函数名总是成对出现的
- 函数名尽量短
- 当名为foo的包某个函数返回类型Foo时,可以省略类型信息而不导致歧义
- 当名为foo的包某个函数返回类型T时(T并不是Foo),可以在函数名中加入类型信息
package
- 只有小写字母组成
- 简短并包含一定的上下文信息
- 不要与标准库同名
命名规范的核心目标是降低阅读理解代码的成本,重点考虑上下文信息,设计简洁清晰的名称