这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天
什么是高质量
编写的代码能够达到正确可靠、简洁清晰的目标可称之为高质量代码
1.各种边界条件是否考虑完备
2.异常情况处理,稳定性保证
3.易读易维护
编程原则
实际应用场景千变万化,各种该语言的特性和语法各不相同,但是高质量编程遵循的原则是相通的。
简单性
1.消除多余的复杂性,以简单清晰的逻辑编写代码
2.不理解的代码无法修复改进
可读性
1.代码是写给人看的,而不是机器
2.编写可维护代码的第一步是确保代码可读
生产力
团队整体工作效率非常重要
编码规范
如何编写高质量的go代码
1.代码格式
2.注释
3.命名规范
4.控制流程
5.错误和异常处理
注释-公共符号始终要注释
代码格式-推荐使用gofnt 自动格式化代码
命名规范
缩略词全大写,但当其位于变量开头且不需要导出时,使用全小写
变量举距离被使用的地方越远,则需要携带越多的上下文信息
函数名不携带包名的上下文信息,因为包名和函数名总是成对出现的
函数名尽量的简短
包名只由小写字母组成,不包含大写字母和下划线等字符
简单并包含一定的上下文信息,例如schema、task等
不使用常用变量名作为包名。
使用单数而不是复数
谨慎的使用缩写
错误和异常处理
panic 不建议在业务代码中使用
调用函数不包含recover会造成程序崩溃
若问题可以被屏蔽或解决,建议使用error代替panic
当程序启动阶段发生不可逆转的错误时,可以在init或者main函数中使用panic
小结:error尽可能提供简明的上下文信息链,方便定位问题。
panic用于真正异常的情况
recocer生效范围,在当前goroutine的被defer的函数中生效