Skip to content

开发规范

simon edited this page Oct 26, 2018 · 14 revisions

编码规范

路由命名规范

  • 前台路由应尽量严格使用restful(模块.控制器名(去除controller).方法名),如有非restful,请参考第二条
  • 前台路由命名请使用:模块.控制器名(去除controller).方法名.HTTP动词(user.auth.login.post)
  • 后台应尽量严格使用restful(模块.manage.控制器名(去除controller).方法名)(如使用graphql例外),如有非restful,请参考第四条
  • 后台路由命名请使用:模块.manage.控制器名.HTTP动词

api路径加载规范

  • 普通URL:api/版本/模块/[manage]/restful资源/单资源 + HTTP动作。如:api/v1/user/manage/users/{id}
  • 子域名路由 api.模块/版本/[manage]/restful资源/单资源 + HTTP动作。如:api.user/v1/manage/users/{id}

控制器方法规范

  • 如非严格restful请使用HTTP动词打头+方法名,如:getIndex,postData

数据表命名规范

  • 数据表命名:使用模块.复数表名,如:mall_categories
  • 外键命名:尽量使用外键表名_外键表(单数)主key名,如:mall_category_id

ORM关系命名规范

  • 使用关系说明为前缀+所属关系名称,如:belongsToCategory hasManyCategories

~~## 模块常量的定义

  • 通用型常量,以模块名作为命名如:MallAttribute,所有模块的通用属性常量均放置于此
  • 非通用型,则以功能命名,如:ProductAttribute~~

文件命名规范

  • 以最外层目录名称为结尾+文件说明为开头,如目录为Contracts/ProductContract
  • 如果出现多级目录则不需要体现在文件名中,使用命名空间区分即可。