这是我参与「第五届青训营 」笔记创作活动的第5天
高质量编程
编写的代码能够达到正确可靠、简洁清晰的目标可称之为高质量代码
- 各种边界条件是否考虑完备
- 异常情况处理,稳定性保证
- 易读易维护
(1)编程原则
实际应用场景千变万化,各种语言的特性和语法各不相后但是高质量编程遵循的原则是相通的
- 简单性:消除“多余的复杂性”,以简单清晰的逻辑编写代码;不理解的代码无法修复改进
- 可读性:代码是写给人看的,而不是机器编写;可维护代码的第一步是确保代码可读
- 生产力:团队整体工作效率非常重要
(2)编码规范
① 代码格式
- gofmt:Go 语言官方提供的工具,能自动格式化 Go语言代码为官方统一风格常见IDE都支持方便的配置
- goimports:也是 Go 语言官方提供的工具实际等于 gofmt 加上依赖包管理自动增删依赖的包引用、将依赖包按字母序排序并分类
② 注释
- 代码是最好的注释
- 注释应该提供代码未表达出的上下文信息
注释应该做的:
- 注释应该解释代码作用
- 注释应该解释代码如何做的注释应该解释代码实现的原因
- 注释应该解释代码什么情况会出错
③ 命名规范
- 核心目标是降低阅读理解代码的成本
- 重点考虑上下文信息,设计简洁清晰的名称
④ 控制流程
- 线性原理,处理逻辑尽量走直线,避免复杂的嵌套分支
- 正常流程代码沿着屏幕向下移动
- 提升代码可维护性和可读性
- 故障问题大多出现在复杂的条件语句和循环语句中
⑤ 错误和异常处理
- error 尽可能提供简明的上下文信息链,方便定位问题
- panic 用于真正异常的情况
- recover 生效范围,在当前 goroutine 的被 defer 的函数中生效