Go高质量编程|青训营笔记

63 阅读1分钟

高质量编程

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.Iserrors.As,erross.Unwrap,包括fmt.ErrorF中的%w

wrap提供了error嵌套err的能力,从而形成error调用链;

%w可以将error加入调用链;

业务中优先使用error而不是panic,能解决问题尽量解决问题;