这是我参与「第五届青训营 」伴学笔记创作活动的第 5 天
本节主要介绍性能调优实战案例,分享了业务优化、基础库优化和GO语言优化的流程和方式。
-
介绍编码规范,写出高质量程序
-
介绍 Go 语言的性能优化建议,分析对比不同方式对性能的影响和背后的原理
-
讲解常用性能分析工具 pprof 的使用和工作原理,熟悉排查程序性能问题的基本流程
-
分析性能调优实际案例,介绍实际性能调优时的工作内容
高质量代码应该包括
- 边界考虑完备
- 异常处理
- 稳定性保证
- 易读易维护
代码应该遵循
- 简单性 消除“多余的复杂性”,要简单清晰
- 可读性 编写可维护代码的第一步是确保代码可读
- 生产力 团队整体工作效率非常重要
命名规范
-
变量
- 简洁
- 缩略词全大写
- 变量距离其被使用的地方越远,要写上下文信息
- 全局变量在其名字中需要更多的上下文信息,使得在不同地方可以轻易辨认出其含义
-
function
- 函数名不需要携带包名的上下文信息,因为包名和函数名总是成对出现的
- 函数名简短
-
package
- 只由小写字母组成。不包含大写字母和下划线等字符
- 简短并包含一定的上下文信息。例如 schema、task 等
- 不要与标准库同名。例如不要使用 sync 或者 strings
总结
-
关于命名大多考虑上下文,保证代码的可读性
-
谁都不愿意读别人的很难读懂的代码,良好的编程规范让自己以后也方便复用
错误和异常处理
- 使用errors.New来创建匿名变量来直接表示简单错误(只出现过一次的错误)
- 使用fmt.Errorf格式化
- 不建议使用panic
- recover只能在被defer的函数中使用