高质量编程与性能调优实战
01.高质量编程
1.1 简介
什么是高质量
编写的代码能够达到正确可靠、简洁清晰的目标可称之为高质量代码。
- 各种边界条件是否考虑完备
- 异常情况处理,稳定性保证
- 易读易维护
编程原则
实际应用场景千变万化,各种语言的特性和语法各不相同;但是高质量编程遵循的原则是相通的。
- 简单性
- 消除“多余的复杂性”,各种语言的特性和语法各不相同
- 不理解的代码无法修复改进
- 可读性
- 代码是写给人看的,而不是机器
- 编写可维护代码的第一步是确保代码可读
- 生产力
- 团队整体工作效率非常重要
1.2 编码规范
如何编写高质量的Go代码
- 代码格式
- 注释
- 命名规范
- 控制流程
- 错误和异常处理
1.2.5 错误和异常处理
error尽可能提供简明的上下文信息链,方便定位问题,panic用于真正异常的情况,recover生效范围,在当前goroutine的被defer的函数中生效。
panic
- 不建议在业务代码中使用
panic - 调用函数不包含
recover会造成程序崩溃 - 若问题可以被屏蔽或解决,建议使用
error代替panic - 当程序启动阶段发生不可逆转的错误时,可以在
init或main函数中使用panic
recover
recover只能在被defer的函数中使用- 嵌套无法生效
- 只在当前
goroutine生效 defer语句是后进先出- 如果需要更多的上下文信息,可以
recover后在log中记录当前的调用栈
1.3 性能优化建议
简介
- 性能优化的前提是满足正确可靠、简洁清晰等质量因素
- 性能优化是综合评估,有时候时间效率和空间效率肯可能对立
- 针对Go语言特性,介绍Go相关的性能优化建议
02.性能调优实战
总结
通过课程对高质量编程的学习,主要对错误和异常处理规范详细了解,还有一些我认为的额外应该注意的规范:
- 图片优化:在保证图片清晰度的前提下,尽可能压缩图片大小,采用合适的图片格式,还可以使用懒加载
- 详细的文档配置;
- 制定合理的项目分配工作及项目版本控制:如使用git管理代码,就能保证代码出现各种复杂情况后可以找回。