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

55 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天,今天课程的内容是高质量编程与性能调优实战,通过本次课,学习到了go语言的代码规范以及性能优化方能的知识,具体细节如下。

高质量编程

简介

所谓高质量编程,就是指所写的代码可读性、可靠性、易维护性、安全性、效率等都优秀。高质量的编程需要注意以下原则:简单性、可读性、生产力。

常见编码规范

代码格式

使用goland编辑器进行go语言编写时,其中内置了gofmt工具,可以自动格式化代码,从而保证代码格式一致。

注释

每个逻辑复杂、不易理解的常量、方法都应该加上合适的注释。一个好的注释应当简明扼要的介绍代码,主要包括:

  • 注释应该解释代码的功能
  • 注释要解释代码是如何实现的
  • 注释应该解释为什么需要这段代码
  • 注释应当标明代码的使用规范以及不允许的情况

另外一个好的命名也会大大增加代码的可读性以及减少注释,注释应当是作为补充而不是再解释已有的信息。

错误和异常处理
  • 简单错误处理
    • 优先使用 errors.New 来创建匿名变量来直接表示该错误。有格式化需求时使用 fmt.Errorf
  • 错误的 Wrap 和 Unwrap
    • 在 fmt.Errorf 中使用 %w 关键字来将一个错误 wrap 至其错误链中
  • 错误判定
    • 使用 errors.Is 可以判定错误链上的所有错误是否含有特定的错误。
    • 在错误链上获取特定种类的错误,使用 errors.As
  • panic
    • 不建议在业务代码中使用 panic
    • 如果当前 goroutine 中所有 deferred 函数都不包含 recover 就会造成整个程序崩溃
    • 当程序启动阶段发生不可逆转的错误时,可以在 init 或 main 函数中使用 panic

总结

通过本次课程学习到了高质量编程与性能调优方面的知识,尤其是代码规范方面得到了比较大的进步。