Skip to content
chloroplast1983 edited this page Apr 17, 2018 · 2 revisions

规范

目录

代码需要尽量符合SOLID原则. 关于一些写代码的书请参考:

重构 实现模式 代码大全

接口规范我们是以jsonapi为媒体协议, 详细可以点击查看. 至于接口具体设计请参考:

restful

接口请求规范

客户端

  1. 必须发送json api格式数据并且携带头Content-Type: application/vnd.api+json, 且不能有任何其他媒体类型参数(media type parameters).
  2. 必须在accpetheader中声明媒体类型application/vnd.api+json至少一次.

服务端

  1. 服务端必须在返回jsonapi数据时携带头Content-Type: application/vnd.api+json且没有其他媒体类型参数(media type parameters).
  2. 服务端必须响应415 Unsupported Media Type状态码如果一个请求包含了头Content-Type: application/vnd.api+json且还带有媒体类型参数(media type parameters).
  3. 服务端必须响应406 Not Acceptable状态码如果一个请求包含Accept:application/vnd.api+json且还带有媒体类型参数(media type parameters).
media type parameters

A media type is composed of a type, a subtype, and optional parameters.

top-level type name / subtype name [ ; parameters ]

top-level type name / [ tree. ] subtype name [ +suffix ] [ ; parameters ]

  1. 变量命名为驼峰.
  2. 类的命名规则为第个字母大写.
  3. Command命名规范: 动词+名称+Command
  4. Repository命名规范: 名称+Repository
  5. Persistence命名规范: 名称+Db|Cache
  6. Query命名规范: 名称+FragmentCacheQuery|RowCacheQuery|RowQuery|SearchQuery|VectorQuery

参考phpdoc

原则上在我们内部是不推荐带么写注释的, 我们希望写的代码可以让其他开发人员易于理解. 可以推荐一些读物:

编写可读代码的艺术 代码整洁之道

MAJOR.MINOR.PATCH

  • MAJOR: 改变意味着其中包含向后不兼容的修改.
  • MINOR: 改变意味这有新功能的增加,但应该是向后兼容的.
  • PATCH: 改变代表对已有功能的缺陷修复
Clone this wiki locally