go 语言基础:高质量编程 | 青训营笔记

120 阅读2分钟

这是我参与「第三届青训营 -后端场」笔记创作活动的的第2篇笔记

高质量编程

简介

编写的代码既正确可靠又清晰简洁,成为高质量的代码。

高质量的代码,不仅让程序执行正确和稳定,也使得后期对程序的维护过程更高效。

编程原则

简单性:编写的代码在保证功能完整正确下要简单清晰;

可读性:编写的代码要使得自己和后人可以高效地阅读和维护;

生产力:整个团队的整体工作效率。

编码规范

代码格式

对于 go 语言,使用 gofmt 自动格式化工具,当保存代码时就会自动格式化为统一的代码格式。

使用 goimports 工具,可以自动管理对各种包的依赖引用,当引用了某个包后,保存代码时会自动添加导入此包的语句。

统一的代码风格,适合高效阅读,便于后期维护。

注释

注释的目的:

  • 解释代码的作用;
  • 解释代码是如何做的;
  • 解释代码实现的原因,即写此代码的外部原因;
  • 解释哪些情况代码会出错。

注释需求:对于公共符号必须有注释,任何函数都要注释。

总的来说,注释应该充分说明代码本身不能很好表达出来的信息。

命名规范

要求:

  • 命名要简洁明了;
  • 缩略词在不需要导出时全大写;
  • 在距离被使用地方越远时,命名中越需要更加详细的上下文信息;
  • 对于函数名,可以不包含其包名信息;
  • 对于包名,全小写字母,但包含上下文信息,使用单数。

控制流程

  • 避免过多嵌套,尽量使流程从上到下依次执行;
  • 优先处理特殊/出错情况,尽量提前返回,以此减少嵌套;
  • 正常的情况在执行所有流程后返回。

错误和异常

  • 使用 error 提供简明的上下文信息,便于定位问题所在;
  • 在真正异常的情况才使用 panic;
  • 使用 recover 要符合要求,只在被 defer 的函数中使用,只在当前 goroutine 生效。