这是我参与「第五届青训营」伴学笔记创作活动的第 2 天,今天学习的是Go语言的高质量编程,以及编程过程中一些代码的规范
高质量编程
概念:编写的代码达到正确可靠,简洁清晰的目标可称之为高质量代码
高质量代码的一些特性:
各种边界条件考虑完整
安全性,异常情况考虑完备
易于阅读,易于维护
编程原则
1、简单性:消除多余的复杂性,以简单的逻辑进行代码编写,便于他人阅读修改
2、可读性:确保代码的规范,确保代码可读是编写可维护代码的第一步
3、生产力:保持团队的工作效率
编程原则中的一些要点
代码规范
可以使用go fmt、 goimports对go代码进行格式化
注释
1、对于任何公共部分的结构体、变量、常量、函数都得使用注释
2、对于公共部分不明显、不简短的功能,要进行注释
3、对于各个函数都需要注释
注释应该解释清楚代码的作用、如何使用、出错情况、实现方法
注释应该提供出一些代码没有体现出的信息
命名规范
命名应当简洁,缩写变量需要全大写,但对于位于开头且不需要导出的变量时,需要全小写
全局变量需要更多上下文信息,使其在不同位置都可以轻松认出
函数名需要尽可能简短
包名需要简短但包含部分上下文信息,必须全部小写,不要与标准库重名
目标:降低阅读和理解代码的成本
控制流程
1、尽量避免嵌套,保证流程的清晰
2、对错误、特殊情况尽早处理,尽可能防止后面的嵌套,保持最小缩进
错误和异常
1、对于简单错误,可以使用error.New直接表达
2、可以使用wrap对错误生成一个跟踪链,最后通过fmt.Errorf对跟踪链进行关联
3、可以使用error.Is对错误链进行特殊判断