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

44 阅读2分钟

“这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天

课程要点

高质量编程:高质量编程简介、编码规范、性能优化建议。

性能调优实战:性能调优简介、性能分析工具pprof实战、性能调优案例。

高质量编程

编写的代码能够达到正确可靠、简洁清晰的目标可称之为高质量代码。

编程原则

简单性:

  • 消除多余的复杂性,以简单清晰的逻辑编写代码。
  • 不理解的代码无法修复改进。

可读性:

  • 代码是写给人看的,而不是机器。
  • 编写可维护代码的第一步是确保代码可读

生产力

  • 团队整体工作效率非常重要。

代码格式、注释、命名规范、控制流程、错误和异常处理。

避免嵌套、尽量保持正常代码路径为最小缩进。少用panic。

defer是后进先出的。

性能优化

slice预分配

map预分配

字符串使用strings.Builder 或者bytes.Buffer

使用空结构体

使用atomic加锁变量

越高级的性能优化手段越容易出现问题,避免常见的性能陷阱可以保证大部分程序的性能。普通应用的代码,不要一味的追求程序的性能。在满足正确可靠、简洁清晰的质量要求的前提下提高程序性能。

性能调优原则

  • 要依靠数据而不是猜测
  • 要定位最大瓶颈而不是细枝末节
  • 不要过早优化
  • 不要过度优化

性能分析工具pprof

go语言自带的性能分析工具。

个人收获

之前编码的时候仅仅考虑功能的实现,其实在功能实现之外,需要提高代码质量,方便日后维护和方便他人理解。除此之外学习了如何更加高效的利用go语言进行编程。对于一些常见的内存炸弹,我们需要进行避免,比如预先分配内存、空结构体等问题。还学习了性能分析工具pprof的使用。之后的编码过程中要逐渐养成良好的编程风格。