代码风格
代码风格
参与 tsuru 编码时请遵循以下编码标准。
格式化
- 遵循 Go 格式化风格
命名标准
New<Something>
构造 Something
时使用:
NewApp(name string) (*App, error)
Add<Something>
是一个拥有 Something
集合的类型的方法
。应接收一个 Something
的实例:
func (a *App) AddUnit(u *Unit) error
Add
是一个集合用于增加一或多个元素的方法:
func (a *AppList) Add(apps ...*App) error
Create<Something>
是保存一个 Something
实例的函数。不同于 NewSomething
,create 函数将创建一个持久版本的 Someting
。(并将其)存储在数据库、远程API、文件系统或任何其它能“永久”存储 Something
的地方。
它有两个版本:
- 一个接收
Something
实例并返回一个错误:
func CreateApp(a *App) error
- 另一个接收要求的参数并返回一个
Something
实例和一个错误:
func CreateUser(email string) (*User, error)
Delete<Something>
是销毁一个 Something
实例的函数。销毁(动作)可能牵涉到诸如将其从数据库和文件系统相关目录中删除等过程。
例如:
func DeleteApp(app *App) error
将从数据库中删除应用,删除仓库,删除路由中的记录以及应用所依赖的任何其它东西。
下述接收一个能够标识出 Something
实例的其它类型的值的函数写法也是可行的:
func DeleteApp(name string) error
Remove<Something>
是一个与 Add<Something> 正好相反的函数。
在函数名字中包含包名
对函数而言,当包名能表示 Something
时也可以忽略 Something
。比如,如果有一个包名为 "app",那么函数 CreateApp 可以只写成 "Create"。这一点对其它函数也适用。这样一来调用者将不需要写出像something.CreateSomething
这样冗长的代码,更好的方式是 something.Create
。