高质量编程
WHY
现代编码工作大多是由团队进行,编程的质量影响着团队的效率,从而影响项目的产出与维护。
HOW
想要提高团队编程的质量,就要有相应的规范去约束代码,这份规范不仅要使得团队效率提高,而且要让代码本身所产生的性能最大化。
WHAT
1.高质量编程
可以从边界条件,异常情况易读易维护等几个方面去判断编程的高质量与否。
- 检测性能的工具:benchmark
- slice,map的预分配内存可以提高性能
- strings的处理
strings.Buffer > strings.Builder > +
- 空结构体
当遇遇到一个场景,你需要为一个变量赋一个值,但这个值不重要,仅仅是占位符,你好需要尽量节省资源,那你需要的便是空结构体。
map[int]struct{}
m[i]=struct{}{}
- 关于错误和异常的处理
简单的错误直接errors.New()
若是需要更为详细的信息,可以使用Go语言1.13开始引进的API:
errors.Is,errors.As,erross.Unwrap,包括fmt.ErrorF中的%w
wrap提供了error嵌套err的能力,从而形成error调用链;
%w可以将error加入调用链;
业务中优先使用error而不是panic,能解决问题尽量解决问题;