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

44 阅读2分钟

这是我参与「第五届青训营」伴学笔记创作活动的第 6 天

高质量编程

简单性

消除“多余的复杂性”,用最简单清晰的逻辑编写代码。 不理解的代码无法修复改进。 可读性

代码是写给人看的,而不是机器。 编写可维护代码的第一步是确保代码可读。 生产力

编程更多的是团队合作,因此团队整体的工作效率非常重要。 3. 编码规范 如何编写高质量的 Go 代码?

代码格式

推荐使用 Gofmt 自动格式化代码。 Gofmt:Go 语言官方提供的工具,能自动格式化 Go 语言代码为官方统一风格,常见 IDE 都支持方便的配置。 Goimports:也是 Go 语言官方提供的工具,实际等于 Gofmt 加上依赖包管理,自动增删依赖的包引用、将依赖包按字母序排序并分类。 注释

注释应该解释代码作用。 注释应该解释代码如何做的。 注释应该解释代码实现的原因。 注释应该解释代码什么情况会出错。 命名规范

变量的命名:简洁胜于冗长。缩略词全大写,但当其位于变量开头且不需要导出时,使用全小写。变量距离其被使用的地方越远,需要携带的信息就需要越多。 函数的命名:函数名不必携带包名的上下文信息。函数名需要尽可能地简短。当函数返回类型与包名相同时,可以省略类型信息。 包的命名:包名仅由小写字母组成。包名简短且包含一定的上下文信息。不要与标准库问名。 4. 控制流程 线性原理,处理逻辑尽量走直线,避免复杂的嵌套分支。 正常流程代码沿着屏幕向下移动。 提升代码可维护性和可读性。 故障问题大多出现在复杂的条件语句和循环语句中。 5. 错误和异常处理 error 尽可能提供简明的上下文信息链,方便定位问题。 panic 用于真正异常的情况。 recover 生效范围,在当前 goroutine 的被 defer 的函数中生效。