这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天,今天主要学习了Go语言高质量编程与性能调优实战的相关内容。课程主要分为高质量编程和性能调优实战两部分。
1.高质量编程
1.1高质量编程简介
高质量编程就是以编写能够达到正确可靠,清晰简洁的的代码为目标进行编程。比如:各种边界情况考虑完备,异常情况处理,易读易维护。
2.编码规范
2.1代码格式
使用GO语言官方提供的工具gofmt,自动化为GO语言代码统一为官方风格。此外也可以考虑goimports,会对依赖包进行管理:相当于gofmt+依赖包管理。自动增删依赖包的引用,将依赖包按字母排序并分类。
2.2注释
注释应该做到以下几点要求:
- 解释代码作用
- 解释代码如何实现
- 解释代码实现的原因
- 解释代码在什么情况下出错
2.3命名规范
变量:
- 缩略词需要大写(ServeHTTP),但其位于变量开头但不需要导出时(xmlHTTPRequest),使用全小写。
- 变量距离被调用的地方越远,需要携带越多的上下文信息(全局变量命名需要包含较多的上下文信息)
函数:
- 函数名不需要包含包名的信息,包名和函数名总是成对出现。
- 函数名尽量简短。
包名:
- 简短且只包含小写字母,不包含大写字母和下划线等字符。
- 不与标准库同名,不与常用变量名同名
- 简短并包含一定的上下文信息。
**控制流程
-
优先处理错误/特殊情况,尽早返回或继续循环来减少嵌套。
-
尽量保持最小缩进,有错误尽早返回.