高质量编程学习笔记(上)|青训营笔记

32 阅读4分钟

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

 ps:由于最近春节事务较多,走亲访友的,还有实验室布置的任务,所以一直是咕咕鸟,本来打算日更的。本文是对于高质量编程的知识介绍。

1. 简介

 在当代的代码开发中,对于一个企业而言,无论是代码编写亦或是变量取名等,都有着非常严格的编写规范。也正是这样的代码规范,才有助于代码的阅读和合作进行项目的开发。在本课关于高质量编程学习中,我们首先就会从编写规范入手,进行对于高质量编程的理解和学习。

2. 编写原则

  虽然各种语言具有不同的特性以及语法,但高质量的代码编程遵循的原则是非常相同的。简单来说有以下三个原则:

  • 简单性
  • 可读性
  • 生产力

 简单性是指以最简单清晰的逻辑编写代码。作为一名合格的码农,我们需要将代码的逻辑和编写做到尽可能的简洁明了,因为不能理解的代码是无法进行修复改进,并且在团队开发中,复杂的代码容易带来其他成员编写上的难度。

 可读性是因为代码是写给人看的,是要用于团队的开发协作的,而不是仅仅让机器进行运行的。所以编写可以维护的代码的第一步就是我们要确保代码可读。

 生产力则是团队整体工作效率非常重要,在现实的代码编程中,高质量编程也需要注意编程的速度。

3. 编码规范

 在本节中将会介绍关于五种的代码规范:

  • 代码格式
  • 注释
  • 命名规范
  • 控制流程
  • 错误和异常处理

3.1 代码格式

 对于代码格式,推荐使用 gofmt 进行自动格式化代码。gofmt为官方提供工具,能支持自动格式化go代码为官方统一风格。

3.2 注释

 对于注释,注释应当做到以下几点:

  • 解释代码作用
  • 解释代码怎么做的
  • 解释这段代码实现原因
  • 解释代码的出错情况,会在什么情况下出错

 对于其解释代码作用这个功能,适合用于注释公共符号。而公共符号即是指会被对外使用的函数和变量等。如对外提供的函数注释描述其功能和用途等。

 对于其解释代码怎么做的这个功能,适合注释代码实现过程。用于介绍一段代码它的编写逻辑等。

 对于其解释代码实现原因的这一功能,适合用于解释代码外部因素,提供额外上下文,让其他人员便于理解这段代码的作用是什么。

 对于其解释代码出错情况,适用于解释代码的限制条件,介绍代码无法处理的一些情况等。

3.3 命名规范

 对于命名规范,主要分为变量命名规范、函数命名规范、包命名规范

 变量命名规范:

  • 简洁的命名胜于冗长的命名
  • 缩略词需要全部大写,但如果其位于变量开头并且不需要导出时,我们需要使用小写
  • 变量距离使用处越远,则我们需要令其命名携带越多的上下文信息

 函数命名规范:

  • 函数名不能包含包名上下文信息,因为他们总是成对出现的
  • 函数名应当尽可能简短

 包命名规范:

  • 只能由小写字母构成
  • 需尽可能简短,并且包含上下文信息
  • 不可与标准库名相同
  • 尽量不使用常用变量作为包名
  • 使用单数而不是复数
  • 谨慎使用缩写,防止难以理解

3.4 控制流程

 对于控制流程,主要则是以下几点:

  • 避免嵌套,令代码流程清晰明了
  • 尽量保持代码路径为最小缩进

3.5 错误和异常处理

 而对于错误和异常处理,我们需要注意error、panic以及recover的用法:

  • error:对于使用error进行错误异常处理,我们需要尽可能简短地提供上下文信息链,方便阅读代码的人进行定位
  • panic:panic被用于真正的异常情况
  • recover:recover只在当前groutine的被defer的函数中才会生效

4. 后记

 本文只介绍了高质量编程中的编写规范相关问题,在下一篇文章中我们将介绍性能优化相关知识。