高质量编程与性能调优实战 | 青训营笔记

128 阅读2分钟

这是我参与「第三届青训营-后端场」笔记创作活动的第3篇笔记,笔记的内容是关于高质量编程和性能调优实战的。

1.高质量编程

1)高质量编程简介

高质量编程的原则: 简单性,可读性,生产力。保证好以上三点才能写出高质量可读性高的代码。

2)编码规范

编写高质量的go代码:

代码格式首先要使用gofmt来自动格式化代码,goimports也是go语言官方提供的工具,可以自动增删依赖的包引用。

写好必要的注释:注释应该解释代码作用,解释代码如何做的,解释代码实现的原因,解释代码什么情况下会出错,只有做到以下四点才能高质量写出代码。

命名规范:命名应该简洁,缩略词应该全部大写,当其位于变量开头但是不需要导出的时候可以使用全小写。同时不应该包含包名信息,写好变量命名有助于提高代码的可读性。

编码控制:避免嵌套,保持正常流程清晰;尽量保持正常代码路径为最小缩进。做好异常处理。

3)性能优化建议

使用benchmark工具对性能调试,slice预分配内存减少分配开销,map也可以预分配内存减少开销,字符串处理使用strings.builder拼接等。

2.性能优化实战

1)性能分析工具pprof

性能调优的四大原则:要依靠数据而不是猜测;要定位最大瓶颈而不是细枝末节;不要过早优化;不要过度优化等。

pprof工具有runtime/pprof和net/http/pprof

采样方式有对CPU、堆内存、goroutine、锁mutex、Block阻塞、线程创建进行检测。

分析有网页和可视化终端来显示。

展示时有top方式、调用图、火焰图、Peek、源码方式和反汇编方式等。

2)性能调优案例

对一个埋入许多炸弹的程序中使用pprof工具来逐个分析炸弹位置并进行清除。

通过对高质量编程和性能调优实战的学习,我掌握了用pprof对程序进行性能分析的方法。