这是我参与「第五届青训营 」伴学笔记创作活动的第 2 天
高质量编程与性能调优学习总结
高质量编程
高质量代码定义:编写的代码能够达到正确可靠,简洁清晰的目标可以被称之为高质量代码
- 各种边界条件是否考虑完备
- 异常情况的处理
- 易读易维护
编程原则
简单性
- 消除“多余的复杂性”,用简单清晰的逻辑编写代码
- 不理解的代码无法修复改进
可读性
- 代码最后是给人看的,而不是机器
- 编写可维护代码的第一步便是确保代码的可读性
生产力
- 要保证团队的整体工作效率
编码规范
- 代码格式
- 注释
- 命名规范
- 控制流程
- 错误和异常处理
关于注释(即注释的作用)
- 注释应该解释代码作用
- 注释应该解释代码是如何做的
- 注释应该解释代码实现的原因
- 注释应该解释代码在什么情况下会出错
注: 注释是理解代码功能最好的途径,可以降低开发者上手的难度,但是在修改代码的过程中,也一定要记得修改相关的注释
关于命名规范
- 简洁胜于冗长
- 缩略词全大写(如HTTP),但当其位于变量开头且不需要导出的时候,建议使用全小写
- 变量距离被使用的地方越远,则需要携带越多的上下文信息
注: 简而言之,对于命名,要尽可能用简洁的语言表达更多的含义,且不要有内容的重复;核心目标在于降低阅读理解代码的成本
关于控制流程
- 线性原理,处理逻辑尽量走直线,避免复杂的嵌套分支
- 正常流程代码沿着屏幕向下移动
- 提升代码可维护性和可读性
- 故障问题大多出现在复杂的条件语句和循环语句中(重点)
关于错误和异常处理
- error尽可能提供简明的上下文信息链,方便定位问题
- panic用于真正异常的情况
- recover生效范围,在当前goroutine的被defer的函数中生效