总结PHP代码规范、流程规范、git规范


Posted in PHP onJune 18, 2018

代码规范、git规范、teambition规范、yii规范

1. 命名规范

(1).变量命名规范

1.变量使用驼峰命名法 禁止使用拼音或者拼音加数字

2.变量也应具有描述性,杜绝一切拼音、或拼音英文混杂的命名方式

3.变量包数字、字母和下划线字符,不允许使用其他字符,变量命名最好使用项目 中有据可查的英文缩写方式, 尽可以要使用一目了然容易理解的形式;

4.变量以字母开头,如果变量包多个单词,首字母小写,当包多个单词时,后面 的每个单词的首字母大写.例如 :$itSports

5.变量使用有效命名

例如评论:$commentArr

6.变量属性标记清楚

例如 数组变量后加Arr :$commentArr,数值: $commentInt

7.变量除了在循环体(for,foreach,while)中,其他位置允许但不鼓励使用没有描述意义的字母作为变量名。

例如:$i,$j。

(2).常量命名规范

1.常量名应具有描述性,杜绝一切拼音、或拼音英文混杂的命名方式

2.常量名包字母字符和下划线,不允许使用数字和其他字符。

3.PHP 的内建值 TRUE、FALSE 和 NULL 必须全部采用大写字母书写。

4.常量名所有字母必须大写,少数特必要的情况下,可使用划线来分隔单词。

例如: define(‘AAA_BBB_CCC', ‘true'); (如果常量名由 aaa, bbb, ccc 三个单词组成 的)

define('NAME','root')

(3).类名命名规范

1.一个文件中声明一个类,文件名中必须包类名字符串,这些不仅容易查找,也有 利于实现在程序中自动加载类。
2.类名应有描述性,杜绝一切拼音、或拼音英文混杂的命名方式
3.类名包括字母字符,不允许使用数字和其他字符
4.如果类名包括多个单词,应使用驼峰式命名方式,每个单词的第一个字母必须大写, 不允许连续大写。
类 首字母大写 如 : class Comment{}

AaaBbbCcc (如果类名由 aaa, bbb, ccc 三个单词组成的)

(4).方法命名规范

1.函数名应具有描述性,杜绝一切拼音、或拼音英文混杂的命名方式
2.函数名包括字母字符,不允许使用数字和其他字符。
3.函数名首字母小写,当包多个单词时,后面的每个单词的首字母大写.
例如: aaaBbbCcc (如果函数名由 aaa, bbb, ccc 三个单词组成的)

4.函数名应带有get,set等动作性描述。

function getUser(){ //函数内容 } 方法,函数有效命名 :function getCommentIdByTableName(){}

5.可以声明像函数名前带有下划线的形式,表示该函数为该类的私有方法,外部不允许进行访问。

例如:function _func(){}

2. 代码注释

1.注释格式

/**

模块-大功能-功能点或方法作用

* @author 作者<邮箱>

* @create 创建时间

* @param $name

* @return array

*/

注释必须按照规范注释

2 . 行注释

// 1.行注释前标清 1、2、3...

//2.简短说明该行代码的作用。

3. 需求明确

1.逻辑清晰

2.目标明确

4.代码语句规范

2.保存数据规范

1.初始化默认属性

2.load加载属性 save保存或修改

3.逻辑问题 必须在beforeSave中处理

5.代码提交规范

1.新建工作流(代码必须在工作流上面修改)

2.提交时 先提交代码,在切换到dev , 拉取dev 然后进入工作流合并到工作流

3.进入dev,将工作流合并到dev

4.推送到测试环境

5.代码提交格式

【自己的现在的职务】系统功能 - 大功能 - 详细功能

例如 : [开发]云系统 - 前台首页 - 编辑轮播图
详细步骤

1. 打开自己sourceTree,在dev拉取最新代码

2. 点击顶部菜单 “Git工作流”->创建新功能->创建到以自己姓名名称命名的文件夹内便于区分,功能名称是自己做的功能的名称

3.创建完成,比如是feature/lihuien/首页轮播图管理

4.代码完成后,首先点击顶部菜单 “提交”->然后切换分支到dev->dev拉取最新代码->在切换到工作流

5.单击dev,然后右键,会出现“合并dev至当前分支”->点击

6.然后切换到dev->单击工作流右键 ->出现“合并工作流feature/lihuien/首页轮播图管理代码至当前分支”,点击确定

7.最后点击顶部菜单“推送”->选择dev->确定->切换到自己工作流或者在创建新的工作流进行下一个功能开发

提示:如果提交出现冲突,请找冲突文件中相应的开发一起及时解决,不得擅自解决,以防会往代码库传入垃圾代码或者破坏队友的功能完整性

6.Teambition任务卡片规范

1.自己每天的任务,如果完成就及时点掉

2.如果任务延期 标清延期原因

3.如果需要别人合作 就添加任务关联

4.自己每天上班必须填写自己任务卡片

5.如果任务需要挂起 写清楚挂起原因

6.写清楚备注,填写子任务,如果有需要就添加图片描述

任务具体格式:

【自己的现在的职务】系统功能 - 大功能 - 详细功能

[开发]云系统 - 后台 - 员工列表

备注:

1.修改员工信息

2.列表搜索等...

子任务1 【开发】员工列表 - 删除员工 - js返回提示

7.提示返回值

1.true时返回格式

`return json_encode(['status'=>'success','message'='提示信息','data'=>'需求数据'])`

2.false时返回格式

`return json_encode(['status'=>'error','message'='提示信息','data'=>'修改失败(或者错误信息)'])`

二.云运动环境规范

1.安装软件

2.服务器 : xampp 需要安装

3.数据库 : mysql 5.7版本 需要安装

4.版本控制 : Git 需要安装

5.git客户端 : sourceTree 需要安装

6.编辑器 : phpStorm 需要安装带注册码

7.包管理工具 : composer 需要安装

8.浏览器 : chrome 需要安装

2.开发使用环境

1.编辑器 : phpStorm

2.服务器 : xampp (php7.0版本)

3.数据库 : mysql 5.7版本

4.代码仓库 : coding

5.版本控制 : Git

6.git客户端 : sourceTree

7.包管理工具 : composer

8.浏览器 : chrome

3.团队工具

1.聊天工具 : bearyChat

2.任务工具 : teambition

3.代码托管 : coding/gitlab

4.需求账号

1.腾讯企业邮箱账号

2.coding账号

3.gitHub账号

4.bearyChat账号

5.teambition账号

5.需求,原型,开发

1.如果在了解需求或原型时 遇到不懂或逻辑不通的需求 请及时跟对应的原型进行沟通,保持开发和原一致性

2.如果遇到问题不能及时解决 请及时跟对应的开发人员沟通

6.sourceTree 规范

1.Master

1.Master分支为线上环境分支
2.该分支只能管理员提交或合并
3.除管理员,禁止开发人员私自操作Master
4.永远不要将代码直接提交到该分支

2. Dev

1.Dev分支为系统测试分支
2.提交到Dev分支一定是完成的完整功能模块
3.代码需要自己测试通过及管理员审核后再提交
4.切记不能提交半成品或者垃圾代码
5.切记不能直接在Dev分支上面修改代码,否则视为无效代码
6.需要开发自己的任务功能时,创建自己的feature工作流

3. Feature

1.Feature分支为个人的开发分支
2.该分支为任务、功能、修改bug的分支
3.分支命名必须规范 如:feature/lihuien/公共分页类
4.上班第一件事就是拉取Dev代码合并到自己的工作流,预防代码合并冲突

注意:

(1).代码未完成千万不能直接提交到Dev、提交代码一定按照规范

(2).每隔一个小时必须更新一次代码,如果有未提交并且自己功能未开发完整,切记一定要推到自己远程功能分支上

7.数据迁移

1.数据迁移一定要按照规范来写
2.数据属性一定要问明白,在增加
3.迁移一定要写回滚文件
4.迁移后一定要测试无误后在提交到Dev
注意:一定要迁移及回滚测试无误后在提交代码到代码库,否则重新写

8.Yii中Form表单

1.Form 表单验证时 定义的属性 如果重复请使用常量定义后,使用常量,避免重复使用

PHP 相关文章推荐
编译php 5.2.14+fpm+memcached(具体操作详解)
Jun 18 PHP
显示程序执行时间php函数代码
Aug 29 PHP
php截取中文字符串函数实例
Feb 23 PHP
Symfony2创建页面实例详解
Mar 18 PHP
Yii视图CGridView列表用法实例分析
Jul 12 PHP
golang与PHP输出excel示例
Jul 22 PHP
PHP中的日期时间处理利器实例(Carbon)
Jun 09 PHP
PHP获取数组中单列值的方法
Jun 10 PHP
PHP如何实现订单的延时处理详解
Dec 30 PHP
thinkPHP利用ajax异步上传图片并显示、删除的示例
Sep 26 PHP
Laravel 使用查询构造器配合原生sql语句查询的例子
Oct 12 PHP
laravel 模型查询按照whereIn排序的示例
Oct 16 PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 #PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 #PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 #PHP
PHP基于rabbitmq操作类的生产者和消费者功能示例
Jun 16 #PHP
PHP7.1实现的AES与RSA加密操作示例
Jun 15 #PHP
PHP观察者模式示例【Laravel框架中有用到】
Jun 15 #PHP
PHP堆栈调试操作简单示例
Jun 15 #PHP
You might like
php调用dll的实例操作动画与代码分享
2012/08/14 PHP
PHP使用数组依次替换字符串中匹配项
2016/01/08 PHP
php文档工具PHP Documentor安装与使用方法
2016/01/25 PHP
ASP中进行HTML数据及JS数据编码函数
2009/11/11 Javascript
可兼容IE的获取及设置cookie的jquery.cookie函数方法
2013/09/02 Javascript
利用JavaScript脚本实现滚屏效果的方法
2015/07/07 Javascript
jquery实现向下滑出的二级导航下滑菜单效果
2015/08/25 Javascript
jquery实现简单的二级导航下拉菜单效果
2015/09/07 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
2017/04/16 Javascript
node.js中http模块和url模块的简单介绍
2017/10/06 Javascript
微信小程序http连接访问解决方案的示例
2018/11/05 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
使用Node.js在深度学习中做图片预处理的方法
2019/09/18 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
原生js实现分页效果
2020/09/23 Javascript
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
python分布式编程实现过程解析
2019/11/08 Python
Python assert关键字原理及实例解析
2019/12/13 Python
python 数据类型强制转换的总结
2021/01/25 Python
HTML5新增的Css选择器、伪类介绍
2013/08/07 HTML / CSS
递归计算如下递归函数的值(斐波拉契)
2012/02/04 面试题
大学生职业规划论文
2014/01/11 职场文书
厂办主管岗位职责范本
2014/02/28 职场文书
大学三年计划书范文
2014/04/30 职场文书
2014乡镇干部纪律作风整顿思想汇报
2014/09/13 职场文书
学习优秀党员杨宗兴先进事迹材料思想汇报
2014/09/14 职场文书
2014迎国庆标语大全
2014/09/19 职场文书
2014年监理工作总结范文
2014/11/17 职场文书
保送生自荐信范文
2015/03/26 职场文书
检讨书格式
2015/05/07 职场文书
python如何做代码性能分析
2021/04/26 Python
详解JS数组方法
2021/11/20 Javascript
Java Spring Boot请求方式与请求映射过程分析
2022/06/25 Java/Android
Go语言编译原理之源码调试
2022/08/05 Golang