4.高质量编程及性能调优 | 青训营笔记

74 阅读2分钟

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

高质量编程及性能调优

01. 高质量编程

  • 代码正确可靠,简洁清晰:

    (1) 边界完备

    (2) 异常处理稳定

    (3) 易读易维护

  • 编程规范:

    1. 代码格式: 推荐使用gofmt
    2. 注释:

      (1) 适合注释公共符号

      (2) 注释解释代码的过程

      (3) 注释解释代码的外部因素,提供额外上下文

      (4) 注释代码的限制条件

    3. 变量命名
    4. 控制流程

      (1) 尽量保证正常的执行流程最短。

    5. 错误和异常处理

      (1) 错误判定 error: errors.is / errors.as

      (2) 不建议在业务代码中使用panic,用于真正异常的情况

      (3) recover 只能在defer函数中使用。可以提供更多的上下文。 (defer是后进先出的)

  • 性能优化建议

    (benchmark) 使用: go test -bench=. -benchmem image.png

    1. slice 预分配内存 (原因是不内存不够会去扩容,就会速度慢)
    • (1) 尽可能在使用make() 初始化切片时提供容量信息

    • (2) 在原有大内存上创建小内存,不会导致大内存释放 image.png

    1. 字符串处理: 使用string. Builder
    2. 使用空结构体节省内存
    3. 多线程使用atomic包(比用加锁的方法性能更好)

02. 性能调优实战