代码风格

代码风格

参与 tsuru 编码时请遵循以下编码标准。

格式化

命名标准

New<Something>

构造 Something 时使用:

  1. NewApp(name string) (*App, error)

Add<Something>

是一个拥有 Something 集合的类型的方法。应接收一个 Something 的实例:

  1. func (a *App) AddUnit(u *Unit) error

Add

是一个集合用于增加一或多个元素的方法:

  1. func (a *AppList) Add(apps ...*App) error

Create<Something>

是保存一个 Something 实例的函数。不同于 NewSomething,create 函数将创建一个持久版本的 Someting。(并将其)存储在数据库、远程API、文件系统或任何其它能“永久”存储 Something 的地方。

它有两个版本:

  • 一个接收 Something 实例并返回一个错误:
  1. func CreateApp(a *App) error
  • 另一个接收要求的参数并返回一个 Something 实例和一个错误:
  1. func CreateUser(email string) (*User, error)

Delete<Something>

是销毁一个 Something 实例的函数。销毁(动作)可能牵涉到诸如将其从数据库和文件系统相关目录中删除等过程。

例如:

  1. func DeleteApp(app *App) error

将从数据库中删除应用,删除仓库,删除路由中的记录以及应用所依赖的任何其它东西。

下述接收一个能够标识出 Something 实例的其它类型的值的函数写法也是可行的:

  1. func DeleteApp(name string) error

Remove<Something>

是一个与 Add<Something> 正好相反的函数。

在函数名字中包含包名

对函数而言,当包名能表示 Something 时也可以忽略 Something 。比如,如果有一个包名为 "app",那么函数 CreateApp 可以只写成 "Create"。这一点对其它函数也适用。这样一来调用者将不需要写出像something.CreateSomething这样冗长的代码,更好的方式是 something.Create

原文: http://doc.oschina.net/tsuru-paas?t=52896