高质量编程与性能调优
Go语言基础
如何用GO编写语言
如何编写更简洁清晰的代码
常用GO语言程序优化手段
熟悉GO程序性能分析工具
了解工程中性能优化的原则和流程
1. 高质量编程
编写的代码能够达到正确可靠、简洁清晰的目标可称之高质量代码
各种边界条件是否考虑完备
异常情况处理,稳定性保证
易读易维护
高质量编程遵循的原则是相通的
简单性
简单清晰的逻辑编写代码,不理解的代码无法修复改进
可读性
需要使得代码可维护,代码主要目的是给人看的
生产力
团队整体工作效率非常重要
代码格式,注释,命名规范,控制流程,错误和异常处理
Gofmt自动格式化代码,GO语言官方提供的工具,能自动格式化GO语言代码为官方语言代码为官方统一风格,常见IDE都支持方便的配置
注释,解释代码作用,如何做到(情况解释),实现原因,什么情况会出错
变量,常量,函数以及结构都需要注释,任何不明显也不简短的公共功能需要注释,
变量命名规范:简洁,缩略词大写,循环内的变量宜短
命名规范核心目标是降低阅读理解代码的成本,重点考虑上下文信息,设计简洁清晰的名称
控制流程:线性原理,处理逻辑尽量走直线,避免复杂的嵌套分支,正常流程代码沿着屏幕向下移动,提升代码可维护性和可读性,故障问题大多出现在复杂的条件语句和循环语句中
错误和异常处理
error尽可能提供简明的上下文信息链,方便定位问题
panic用于真正异常的情况
recover生效范围,在当前goroutine的被defer的函数中生效
2. 性能调优
性能优化建议 benchmark
性能表现需要实际数据衡量,GO语言提供支持基准性能测试的benchmark工具
Slice, map, 字符串处理,空结构体,atomic包
性能调优原则:
要依据数据不是猜测,要定位最大瓶颈而不是细枝末节,不要过早优化,不要过度优化
Pprof是用于可视化和分析性能分析数据的工具
(希望知道应用在什么地方耗费了多少的CPU,Memory)
总结:从实际逻辑,数据,实践中,合理使用的工具的前提下完成优化。