后端基础班 2.14 | 青训营笔记

73 阅读2分钟

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

前言: 2023-2-14 当我写下标题的时候,竟也发现今天是我加入第五届青训营的第31天了,也是我第二次发布笔记,上一次还是31天之前,莫名有些羞愧了emm。不过仔细阅读活动规则,只能说,还有时间。尽管一开始就没有十足的把握能撑到最后,但是既然是抱着学习的心态前来,那就学多少算多少,尽力即可,所以重拾复习之前课程和笔记发布,在活动结束之前继续燃烧脑细胞。

这篇笔记回顾课程三:《Go语言高质量编程和性能调优》
分为两部分:(1)高质量编程:首先是编码规范,通过张雷老师的讲解,介绍了包括自动格式工具gofmt;注释规范;命名规范(结合Go中首字母大小写差异的特性);介绍循环嵌套,简化控制流程;GO的错误处理及异常捕获。除此以外,还通过具体的例子阐述了上述的内容。之后,包括性能优化工具benchmark,还举出了slice和map预分配内存的问题;字符串拼接的不同方法性能比较;利用空结构体节省性能,都给我留下了深刻的记忆。

第二部分是性能调优实战,第一次接触pprof性能调优工具,在浏览器可视化具体性能指标,包括alloc,heap,block等,通过查看占用CPU和内存占比最大的函数进行优化。此外,还利用形象的火焰图展示程序每个部分的具体比例。最后讲述了业务服务优化的部分内容,虽然难度略大,但是也算是pprof的实战例子之一。课后通过github上配套的项目在本地实现可视化出火焰图。总结说,尽管在日常的编程中,高质量编程也伴随其中,但是性能分析和调优属实是第一次接触,虽然以个人码力来说有些遥远,但是作为了解和储备,张雷老师讲解的pprof的确带我进入了另一番神奇的领域。