高质量编程| 青训营笔记

65 阅读3分钟

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

一、高质量编程

1.简介

编写的代码能够达到简洁清晰的代码称为高质量。

编程原则

简单性
可读性
生产力

简单性

减少代码的重复性,降低耦合,逻辑要简单。

可读性

代码是给人看的,代码的变量名应该见名知义,这样有利于后期的维护

生产力

编写的代码应该具备高效的特性,在参与团队项目时,要进行合理的分工,避免效率低下

2.编码规范

"编码规范(Go)"规范为日常Go项目开发提供一个统一的规范指导, 方便团队形成统一的代码风格, 提高代码可读性, 规范性和一致性.

同时作为CR的有效指导工具, 如果有变更的, 需要补充的, 可以在文档中(文档下)添加评论说明进行补充.

大部分的格式问题可以通过gofmt解决,gofmt自动格式化代码,保证所有的go代码与官方推荐的格式保持一致,于是所有格式有关问题,都以gofmt的结果为准。

命名规范

命名是代码规范中很重要的一部分,统一的命名规则有利于提高的代码的可读性,好的命名仅仅通过命名就可以获取到足够多的信息。

Go在命名时以字母a到Z或a到Z或下划线开头,后面跟着零或更多的字母、下划线和数字(0到9)。Go不允许在命名时中使用@、$和%等标点符号。Go是一种区分大小写的编程语言。因此,Manpower和manpower是两个不同的命名。

注释规范

注释虽然写起来很痛苦, 但对保证代码可读性至关重要. 下面的规则描述了如何注释以及在哪儿注释.

当然也要记住: 注释固然很重要, 但最好的代码应当本身就是文档.

有意义的类型名和变量名, 要远胜过要用注释解释的含糊不清的名字.

你写的注释是给代码读者看的, 也就是下一个需要理解你的代码的人. 所以慷慨些吧, 下一个读者可能就是你!

脚本都需要添加注释: 表明脚本的作用, 参数的含义, 预期的数据, 输入参数的含义 方法上建议添加注释, 标注方法的作用 有步骤执行顺序的代码, 各个顺序关键节点, 建议添加注释 if, switch等分支判断的时候, 建议添加注释便于理解

错误和异常处理

简单错误

首先看一下简单错误简单的错误指的是仅出现一次的错误,且在其他地方不需要捕获该错误优先使用
+errors.New+来创建匿名变量来直接表示简单错误如果有格式化的需求,使用+fmt.Errorf&tn=15007414_dg

panic、recover

在Go中,比错误更严重的就是panic,它的出现表示程序无法正常工作了,那么在使用时应该注意什么呢?
不建议在业务代码中使用panic。因为panic发生后,会向上传播至调用栈顶,如果当前goroutine中所有+deferred+函数都
不包含recover就会造成整个程序崩溃。若问题可以被屏蔽或解决,建议使用error代替panic特殊地,
当程序启动阶段发生不可逆转的错误时,可以在init或main函数中使用panic
。因为在这种情况下,服务启动起来也不会有意义比如示例是启动消息队列监听器的逻辑,
在创建消费组失败的时候会Panicf,实际打印日志,然后抛出panic