这是我参与「第五届青训营 」伴学笔记创作活动的第 3 天。此次笔记内容为代码规范相关知识。
重点内容
工程项目开发中编码规范
详细知识点
简介
在工程项目中,一段代码高质量的代码往往具有以下的特性
1.各种边界条件考虑完备
2.稳定性强,对各种异常情况都有处理方案
3.易读易维护
由此,编程过程中有以下三个原则
1.简单性:以简单清晰的逻辑编写代码
2.可读性:让其他程序员可以读懂代码
3.生产力:提高整个团队的工作效率
代码规范——注释
一段注释应当完成以下四项工作
- 解释代码作用
- 解释代码行为
- 解释代码实现的原因
- 解释代码什么情况下会出错
而在工程项目中,代码注释的对象往往需要对代码的公共符号进行注释,最常见的是代码中的函数,同时,注释在阅读代码时应该提供代码为表达的上下文信息,而代码本身的可读性依然是降低阅读代码难度的最关键因素。
代码规范——命名
一、变量
对于变量的命名,需要注意以下几点
- 简洁
- 缩略词全大写,如写HTTP而非Http,但当缩略词位于变量开头且不需要导出时全小写
- 变量距离其被使用的地方越远,就需要携带越多的上下文信息
二、函数
函数的命名原则
- 函数名不携带包名的上下文信息
- 函数名尽可能简短
- 函数名与返回类型同名时,可以省略类型信息,避免歧义
- 函数名与返回类型不同名时,可在函数名中加入类型信息
三、包
包命名的原则
- 只由小写字母组成
- 简短且包含一定的上下文信息
- 不与标准库重名
满足以上条件的前提下,尽可能满足以下规则
- 不以常用变量名作包名
- 是用单数而非复数
- 慎用缩写
代码规范——流程控制
流程控制原则
- 避免嵌套
- 尽量保持正常代码路径为最小缩进
在工程实践中,程序的bug往往集中在代码复杂的条件判断与臃肿的循环嵌套之中。因此,规范代码的流程控制可以提升代码的可维护性与可读性。
代码规范——错误与异常处理
一、简单错误
简单错误指程序中只出现一次的错误,且在其他地方无需捕获该错误。对于这种错误我们优先利用error.New常创建匿名变量表示或用fmt.Errorf进行格式化
二、错误的Wrap和Unwrap
作物的Wrap提供了一个error嵌套另一个error的能力,可以利用fmt.Errorf中的%w关键字将错误关联到错误链中。
三、错误判定
对于上面产生的错误链,程序员可以通过errors.As获取特定类型的错误。
知识点总结
笔记主要记录的代码规范需要注意的原则和处理方式。在团队开发的工程项目中,制定一套好的代码规则有利于提升团队开发效率。在后面的项目开发实践中我们也会依照以上的要点去构建一套合理的代码规范要求。