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

105 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的第3篇笔记
1、高质量编程
高质量代码的基本要求: ①正确性:是否考虑各种边界条件,错误的调用是否能够处理 ②可靠性:异常情况或者错误的处理策略是否明确,依赖服务出现异常是否能够处理 ③简洁:逻辑是否简单,后续调整功能或新增功能是否能够快速支持
④清晰:其他人阅读理解代码的时候是否能够清楚明白,重构或者修改功能是否不会担心出现无法预料的问题
⑤生产力:编程在当前更多的是团队合作,因此团队整体的工作效率是非常重要的一方面,为了降低新成员上手项目代码的成本,Go语言甚至通过工具强制统一所有代码格式,编码在整个项目开发链路中的一个节点,遵循规范,避免常见缺陷的代码能够降低后续联调、测试、验证、上线等各个节点的出现问题的概率,就算出现问题也能够快速排查定位。 如何编写高质量的Go代码,将从如下几个方面入手:代码格式、注释、命名规范、控制流程、错误和异常处理。因为代码格式、注释以及命名规范在之前文章有所提及,这里就不做过多赘述,着重讲一下控制流程以及错误和异常处理。
控制流程:
①线性原理,处理逻辑尽量走直线,避免复杂的嵌套分支
②正常流程代码沿着屏幕向下移动
③提升代码可维护性和可读性
④故障问题大多出现在复杂的条件语句和循环语句中
错误和异常处理:
①error尽可能提供简明的上下文信息链,方便定位问题
②panic用于真正异常的情况
③recover生效范围,在当前goroutine的被defer的函数中生效
性能优化建议:
①避免常见的性能陷阱可以保证大部分程序的性能 ②普通应用代码,不要一味地追求程序的性能
③越高级的性能优化手段越容易出现问题
④在满足正确可靠、简洁清晰的质量要求的前提下提高程序性能
2、性能调优实战
性能调优原则:
①要以开数据而不是猜测
②要定位最大瓶颈而不是细枝末节
③不要过早优化
④不要过度优化