总结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.MVC的模板标签系统(二)
Sep 05 PHP
建立动态的WML站点(一)
Oct 09 PHP
人尽可用的Windows技巧小贴士之下篇
Mar 22 PHP
PHP 获取目录下的图片并随机显示的代码
Dec 28 PHP
PHP 伪静态隐藏传递参数名的四种方法
Feb 22 PHP
php中的四舍五入函数代码(floor函数、ceil函数、round与intval)
Jul 14 PHP
详谈php静态方法及普通方法的区别
Oct 04 PHP
PHP中串行化用法示例
Nov 16 PHP
IIS 7.5 asp Session超时时间设置方法
Apr 17 PHP
mac系统下安装多个php并自由切换的方法详解
Apr 21 PHP
LaravelS通过Swoole加速Laravel/Lumen详解
Mar 02 PHP
YII2框架中behavior行为的理解与使用方法示例
Mar 13 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 数组使用详解 推荐
2011/06/02 PHP
phpMyAdmin 链接表的附加功能尚未激活问题的解决方法(已测)
2012/03/27 PHP
深入PHP autoload机制的详解
2013/06/09 PHP
php实现的农历算法实例
2015/08/11 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
PDO::rollBack讲解
2019/01/29 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
javascript使用正则表达式检测IP地址
2014/12/03 Javascript
图文详解Heap Sort堆排序算法及JavaScript的代码实现
2016/05/04 Javascript
js从外部获取图片的实现方法
2016/08/05 Javascript
JavaScript实现打地鼠小游戏
2020/04/23 Javascript
一个Js文件函数中调用另一个Js文件函数的方法演示
2017/08/14 Javascript
bootstrap+jquery项目引入文件报错的解决方法
2018/01/22 jQuery
Python获取时间戳代码实例
2019/09/24 Python
python提取xml里面的链接源码详解
2019/10/15 Python
详解Python Opencv和PIL读取图像文件的差别
2019/12/27 Python
深入浅析python 中的self和cls的区别
2020/06/20 Python
Python如何截图保存的三种方法(小结)
2020/09/01 Python
Python基于Socket实现简易多人聊天室的示例代码
2020/11/29 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
澳大利亚领先的运动鞋商店:Hype DC
2018/03/31 全球购物
印度在线杂货店:bigbasket
2018/08/23 全球购物
电子商务专业个人的自我评价
2013/11/19 职场文书
自动化专业职业生涯规划书范文
2014/01/16 职场文书
大学生村官事迹材料
2014/01/21 职场文书
面试后感谢信怎么写
2014/02/01 职场文书
素食餐饮项目创业计划书
2014/02/02 职场文书
《狮子和兔子》教学反思
2014/03/02 职场文书
毕业生如何写自荐信
2014/03/26 职场文书
文明家庭先进事迹材料
2014/05/14 职场文书
安全横幅标语
2014/06/09 职场文书
干部年终考核评语
2015/01/04 职场文书
英语专业毕业论文答辩开场白
2015/05/27 职场文书
医院感染管理制度
2015/08/05 职场文书
SQLServer2019 数据库环境搭建与使用的实现
2021/04/08 SQL Server
解决Redis启动警告问题
2022/02/24 Redis