美文网首页
2019-06-24

2019-06-24

作者: 二师兄_ade1 | 来源:发表于2019-06-24 08:43 被阅读0次

项目开发规范

编码规范

命名规范

  • 普通变量名一律使用小驼峰,使用匈牙利命名法,私有变量以下划线开头, 常量需大写,建议变量名称使用英文全称,不简写,不使用拼音和缩写。
  • 项目配置项一律使用.env 文件进行配置,不得写在代码内部,版本管理 提交一份.env.example样例,包含所有的该配置的配置项名称。配置项一律使用config()函数来读取
  • 方法函数返回值类型统一,方法参数需指定参数数据类型,
  • 方法内其他非正常逻辑内的提示一律使用异常抛出形式结束。
  • 方法内部代码块变量需要定义才能使用,除了控制器之外方法必须写注释,模型需使用 @property 注释具体有哪些字段
  • iffor foreach 等语句块不得超过三级嵌套
  • 方法函数内部的代码根据逻辑功能区分,切换不同的逻辑使用空格分开,函数的行数不超过120行,行代码长度不超出换行提示线
  • 不得直接使用sql语句,所有查询统一走Model,不得在Model之外操作数据库

目录和架构规范

架构图

  • 所有的路由统一经过理由Router,路由权限统一路由组配合使用中间件统一控制,不得在Controller内部处理访问权限控制
  • 控制器只处理请求接收验证和返回,不得在控制器内部编写逻辑代码
  • 不同的域请求由不同的Domain处理器处理
  • Service服务层负责处理数据服务,Adapter层负责函数调用适配器功能,所有的数据CURD统一由Repository内定义,不得在非Repository层外调用数据库操作。
  • 小郭整理架构图如下 image

小柳整理,针对THINKPHP框架个人建议做如下调整

  • 个人建议将结构划分为 Router - Controller - Service - Model 四层
  • 所有模型统一创建至application\common\model文件夹下,不单独创建应用的模型,模型除基础类属性外、建议统一编写-增(insert)删(del)查(list - get) 改 ( update ) 父类,所有模型基层至此父类
  • 统一在Service创建至application\common\service下、由其他控制器调用
  • image

测试和部署规范

  • 项目在未上线前分为本地服务器和线上测试服务器,流程为本地测试正常后提交线上测试服进行测试,测试服的服务器配置和生产服保持一致,不得开发测试代码直接提交生产服或master分支,不得直接连接生产服数据库

其他规范

Git使用规范统

type用于说明 commit 的类别,只允许使用下面7个标识

  • feat:新功能(feature
  • fix:修补bug
  • docs:文档(documentation)
  • style: 格式(不影响代码运行的变动)
  • refactor:重构(即不是新增功能,也不是修改bug的代码变动)
  • test:增加测试
  • chore:构建过程或辅助工具的变动
  • 如果typefeatfix,则该 commit 将肯定出现在 Change log 之中。其他情况(docschorestylerefactortest)由你决定,要不要放入 Change log,建议是不要。

scope

  • scope用于说明 commit 影响的范围,比如数据层、控制层、视图层等等,视项目不同而不同。
    如果你的修改影响了不止一个scope,你可以使用*代替
  • subjectcommit目的的简短描述,不超过50个字符

相关文章

网友评论

      本文标题:2019-06-24

      本文链接:https://www.haomeiwen.com/subject/rwngqctx.html