这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
课堂笔记
- 本堂课的知识要点有哪些?
高质量编程:编写的代码能够达到安全可靠,简洁清晰的目标称之为高质量编程
性能优化
- 本堂课介绍了哪些知识点?
(一)高质量编程的要求
- 简单性:消除多余的复杂性,以简单逻辑清晰的写代码,不理解的代码无法修复改进
- 可读性:代码是给人看的不是给机器看的,编写可维护的代码第一步是确保代码可读
- 生产力:团队整体工作效率非常重要
(二)编码规范
代码格式:使用gofmt自动格式化官方统一风格
注释:包中声明的每个公共符号.变量.函数以及结构都需要添加注释,任何不明显也不简短的公共功能也要添加注释,库中任何函数都要进行注释
命名规范:简洁胜于复杂,缩略词全大写,变量使用的举例越远,需要携带更多的上下文信息...函数名不携带包的上下文信息,包名与函数名都是成对存在的,函数名要尽量简短...包名只用小写,简短且包含一定上下文信息,不要用常见变量名作为包名,不要使用复数
控制流程:避免嵌套,保持正常流程清晰...保持正常代码路径为最小缩进...
错误和异常处理:简单错误:只出现一次的错误,首先使用errors.New方法
if len(vla)>=10{
return errors.New("there is a error in ...")
}
错误的Wrap和Unwrap:提供了error嵌套和另一个error的能力,生成error跟踪链,使用fmt.Errorf方法
if err!=nil{
return fmt.Errorf("... :%w",err)
}
错误判定
if errors.Is(err,ErrNotExist){
...
}
panic:会直接导致程序结束,不建议在正式业务中使用 recover:不能嵌套
(三)性能优化建议
benchmark:一个工具,支持性能基准测试
pprof:性能分析工具
- 有什么实践举例帮助理解知识点?
使用了pprof工具实战操作了如何展开性能分析
包括分析-Profile,展示-View,工具-Tool,采样-Sample
了解了pprof工具功能,pprof工具分析解决性能问题,pprof的采样过程和工作原理
- 本章有什么知识点不容易掌握?
错误的处理和调试发现错误是很冗杂的,需要丰富的开发经验才能熟练的去发现和处理错误...
pprof分析工具的使用也是需要大量的练习才能熟练使用