You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
81 lines
2.0 KiB
81 lines
2.0 KiB
2 years ago
|
### 一、包名
|
||
|
**使用小写字母:** 包名应该使用小写字母,不要使用下划线或混合大小写。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
package my_package
|
||
|
// 推荐
|
||
|
package mypackage
|
||
|
```
|
||
|
**避免泛化的名称:** 包名应该具有明确的含义,避免使用过于泛化的名称。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
package util
|
||
|
// 推荐
|
||
|
package fileutil
|
||
|
```
|
||
|
### 二、变量及常量
|
||
|
**使用驼峰命名法:** 变量和函数名使用驼峰命名法,即首个单词小写,后续单词首字母大写。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
var my_variable int
|
||
|
// 推荐
|
||
|
var myVariable int
|
||
|
```
|
||
|
**短小而具有描述性:** 变量名应该既简短又具有描述性,避免使用单字母名称,除非是循环变量。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
var n int
|
||
|
// 推荐
|
||
|
var itemCount int
|
||
|
```
|
||
|
**常量全大写:** 常量名应该全大写,用下划线分隔单词。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
const Pi = 3.14
|
||
|
// 推荐
|
||
|
const PI = 3.14
|
||
|
```
|
||
|
### 三、函数及方法
|
||
|
**使用驼峰命名法:** 函数和方法名同样使用驼峰命名法。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
func calculate_sum() int
|
||
|
// 推荐
|
||
|
func calculateSum() int
|
||
|
```
|
||
|
**使用动词:** 函数名应该使用动词,明确描述函数的操作。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
func data()
|
||
|
// 推荐
|
||
|
func fetchData()
|
||
|
```
|
||
|
### 四、结构体及接口
|
||
|
**使用驼峰命名法:** 结构体和接口名同样应该使用驼峰命名法。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
type employee_data struct {}
|
||
|
// 推荐
|
||
|
type EmployeeData struct {}
|
||
|
```
|
||
|
**避免缩写:** 尽量避免使用缩写,除非是广泛接受的行业标准。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
type HTMLParser interface {}
|
||
|
// 推荐
|
||
|
type HTMLParserInterface interface {}
|
||
|
```
|
||
|
### 五、测试文件
|
||
|
**以 `_test.go` 结尾:** 测试文件应该以 **`_test.go`** 结尾,使其与普通源代码文件区分开。
|
||
|
```text
|
||
|
// 测试文件名
|
||
|
mypackage_test.go
|
||
|
```
|
||
|
|
||
|
**测试函数使用 `Test` 前缀:** 测试函数的命名应以 **`Test`** 为前缀,后面跟被测试的函数名。
|
||
|
```text
|
||
|
// 不推荐
|
||
|
func checkData() {}
|
||
|
// 推荐
|
||
|
func TestCheckData() {}
|
||
|
```
|