后端go高质量代码要求|青训营笔记

49 阅读2分钟

一.什么是高质量

  • 编写的代码能够达到正确、可靠、简洁、清晰的目标,这样就可以称为高质量。
  • 各种边界条件是否考虑完备
  • 异常情况处理,稳定性保证
  • 可读性高、易维护。

二.编程原则

  1. 简单性
    • 消除多余的复杂性,用简单的逻辑编写代码
    • 不理解的代码无法修复改进
  2. 可读性
    • 代码是给人看的,而不是机器
    • 编写可维护代码的第一步是确保代码可读
  3. 生产力
    • 团队整体工作下来非常重要

三.编码规范

  1. 注释
    • 任何不明显的公共功能代码必须加以注释
    • 对于库中的任何函数都必须进行注释
    • 注释必须解释代码作用、代码如何做、代码实现原因、代码什么情况下回报错
  2. 代码格式
    • 团队必须要规范代码格式,go语言官方推荐使用gofmt进行格式化,
  3. 命名规范
    • 简洁好多冗长
    • 缩写词全大写
    • 变量距离其被使用的地方越远,则携带的信息就要越多,方便我们在使用这个变量时,了解这个变量的意义。
    • 对于package,只用小写字母,不能包括大写字母、下划线等。简短但是要包括一定的上下文信息。不能与标准库同名。
  4. 控制流程
    • 尽量保持正常代码路径为最小缩进。
    • 线性原则,处理逻辑尽量走直线,避免复杂的嵌套分支
  5. 错误和异常处理
    • 简单的作物指仅出现一次的错误,切在其他地方不需要补货该错误,
    • 优先使用errors.New来创建匿名变量来直接表示简单错误
    • 如果有格式化的需求,使用fmt.Errorf
    • 不建议在业务代码中使用panic
    • 调用函数不包括recover会造成程序崩溃
    • 如果问题可以被屏蔽,匿名用error替换panic
    • recover只能在defer的函数中使用,只当前的goroutine生效,defer的语句是先进后出