命名和开发规范
部分参考至 Effective Go
文件命名
文件命名一律采用小写,不用驼峰式,尽量见名思义,看见文件名就可以知道这个文件下的大概内容。 其中测试文件以 test.go 结尾,除测试文件外,命名不出现*。
例子:
stringutil.go, stringutil_test.go
包名 package
包名用小写,使用短命名,尽量和标准库不要冲突。 包名统一使用单数形式。
包的导入者可通过包名来引用其内容,因此包中的可导出名称可以此来避免冲突。 (请勿使用 import .
记法,它可以简化必须在被测试包外运行的测试, 除此之外应尽量避免使用。)例如,bufio
包中的缓存读取器类型叫做 Reader
而非 BufReader
,因为用户将它看做 bufio.Reader
,这是个清楚而简洁的名称。
用于创建 ring.Ring 的新实例的函数(这就是 Go 中的构造函数)一般会称之为 NewRing,但由于 Ring 是该包所导出的唯一类型,且该包也叫 ring,因此它可以只叫做 New,它跟在包的后面,就像 ring.New。(不是很苟同)