前提:满足正确可靠、简洁清晰等质量因素
性能优化简介
性能调优 原则: 1.不要过早优化、过度优化 2.定位最大瓶颈而不是细枝末节 3.依靠数据
性能分析工具pprof
性能优化的建议(go)
1.Benchmark工具 支持基准性能测试、提供实际数据
两种预分配内存 2.slice 尽可能在使用make()初始化切片时提供容量信息
3.map 提前分配好空间可以减少内存拷贝和rehash的消耗
4.字符串处理 使用strings.Builder
5.空结构体 节省内存,可作为占位符使用
6.atomic包 通过硬件来实现操作,效率比锁高
高质量编程 即指编写的代码正确可靠、简洁清晰 要求: 1.边界条件考虑完备 2.异常情况处理、稳定性保证 3.易读易维护
编码规范 1.注释 最好是提供上下文未表达出的信息 公共符号记得注释(但实现接口的方法就不用注释了) 2.代码格式(gofmt) 3.命名规范 4.控制流程 避免复杂的嵌套、缩进问题 5.错误和异常处理 error、panic、recover
编程原则 1.简单性 2.可读性 3.生产力(团队整体工作效率)