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

41 阅读2分钟

这是我参与「第五届青训营」笔记创作活动的第4天。 今天的课程主要是学习如何提高编程质量以便于维护,以及项目代码完成后的调优。首先是介绍了什么是高质量编程--高质量的代码即正确可靠、简洁清晰的代码。在以前我主要接触的是c和c++,但是编程原则和go大体是一样的,要符合简单性、可读性和保证工作效率,然后是介绍了代码格式,其中的gofmt工具可以自动格式化代码,用vscode配置好go环境后就有这个工具,编写时保存文件就可以自动格式化代码了。之后介绍了注释,注释是为了代码便于理解,虽然代码是最好的注释,但在如今这个开源环境下,好的代码不仅仅是运行可靠性能靠,还要利于自己和别人理解,利于维护等等,这时候注释的作用就发挥出来了,注释应该解释代码作用、代码是如何做的、代码实现的原因和代码出错的情况,老师也提供了一些例子供我们理解。然后介绍了一些命名规范,包括变量、函数、包名,好的名称有助于理解,降低阅读理解的成本。然后是控制流程,这一点我感觉是十分重要且比较好实现的,其中尽量保持正常代码路径为最小缩进这一点对我帮助很大,就算是在写编程题的时候,如果按照这种方法先判断错误再写正常情况下的处理方法,就会让代码少了很多嵌套,更加清晰,便于理解。最后是错误和异常处理,介绍了一些有关错误处理的函数。然后是性能调优,首先介绍了benchmark工具,然后是go里面的make()创建切片时尽量预分配内存,通过一些例子说明了这样做的好处,也介绍了大内存未释放的陷阱和解决方法,之后在字符串拼接中介绍了strings.Builder函数来进行优化,大致介绍了atomic包。最后就是pprof工具的介绍和使用,并通过实战来加深我们的理解,为之后的使用做了铺垫。今天的课程比较简单,主要是一些概念和优化方法,包括编程时和编程完成后的优化,没遇到特别大的问题,有些不懂得地方也在网上搜集资料解决了,希望之后在做项目时能更加熟练掌握pprof。