slava项目(4):Go语言编程规范

文章详细阐述了在开发Go语言的K-V云数据库项目Slava中遵循的编程规范,包括注释应解释代码功能、实现方式和错误情况,变量命名采用驼峰式且全局变量需有明确上下文,函数名不包含包名,package命名简短且具上下文,import包导入分内外部并按顺序排列,以及项目目录结构的组织原则,如internal和pkg目录的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

slava是作者参与的一个github开源项目,项目的主要的工作是用Go语言构建一个高性能、K-V云数据库。 slava项目的连接。本文作者将梳理在实际的开发中Go语言的编程规范。

1.注释

Good code has lots of comments, bad code requires lots of comments
好的代码有很多注释,不好的代码需要很多注释。

在实际的项目开发中,注释应该做到如下几点:

  1. 注释应该解释代码的作用
  2. 注释应该解释代码如何实现
  3. 注释应该解释代码实现的原因
  4. 注释应该解释代码什么情况下会出错

2.变量命名规范

  • 变量的命名应该简洁明了,避免冗长的命名
  • 缩写词应该全大写,但是当其位于变量的开头且不需要导出时,使用全小写
    • ServeHTTP而不是ServeHttp
    • 可以使用XMLHTTPRequest或者xmlHTTPRequest
  • 变量距离它被使用的地方越远,则需要携带的上下文信息越多
    • 全局变量在其命名中需要携带更多的上下文信息,使得在不同的地方可以轻易的辨认出其含义
  • 在开发项目中,对于一些常量的参数,例如,1,2,3等,尽量避免直接使用这些数字,而应该将其转换成一个全局变量,并在全局变量的命名指示说明该变量的用法。
  • 变量的命名应该遵循驼峰命名规范

3.函数命名规范

  • 函数名中不应该携带包名,因为函数名和包名通常时成对出现的
    • 例如在http包中,函数的命名应该使用Serve而不是ServeHTTP
  • 函数名应该简洁明了

4.package命名规范

  • 只由小写字母组成。不包含大写字母和下划线
  • 简短并包含一定的上下文信息,例如database
  • 不要与标准库同名,例如strings包
  • 不使用常用的变量名作为包名,例如使用database,而不是使用db
  • 使用单数而不是复数
  • 谨慎使用缩写,例如使用fmt是在不破坏上下文的情况下比format更加简短

5.import包导入规范

将项目引用的内部包和引用的外部包分开,以空格行分开。内部包在前,外部包在后。
在这里插入图片描述请添加图片描述

6.项目目录规范

所有的包名称都应该使用同一种命名规则,例如驼峰或者下划线。一个项目中含有多个文件目录,每个文件目录的作用还有使用的方式都一样,要将自己开发的文件,对应到每个正确的包中,便于项目的管理和隔离。

例如internal包下,存放私有应用和库代码。如果一些代码,你不希望在其他应用和库中被导入,可以将这部分代码放在/internal目录下。在引入其它项目internal下的包时,Go 语言会在编译时报错。

pkg目录是Go语言项目中非常常见的目录,我们几乎能够在所有知名的开源项目(非框架)中找到它的身影,例如Kubernetes、Prometheus、Moby、Knative等。该目录中存放可以被外部应用使用的代码库,其他项目可以直接通过import导入这里的代码。所以,我们在将代码库放入该目录时一定要慎重。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值