您所在位置:网站首页 > 海量文档
 > 计算机 > PHP资料
付超群-PHP项目治理.pdf28页
本文档一共被下载:次,您可全文免费在线阅读后下载本文档。
下载提示
1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
QCon北京2014大会 4月17—19日
@ InfoQ infoqchina
PHP项目治理
付超群
QConShanghai 2013
目录
• 代码治理
• 架构治理
• 项目治理
目录
• 代码治理
• 架构治理
• 项目治理
代码治理:示例
~140行代码,22个if ,最深有5层if
代码治理:问题
表象 :
• 大文件 ,一泻千里,长函数
• 重复代码
• 单一功能,多文件跳转
• 出问题时找不到对应文件/方法
• 新写代码不知道应该放哪
• 上线不知道有哪些依赖
• 理解代码容易,理解代码流程难
• ……
代码治理:目录设计
├── docs
│ ├── 项目整体设计文档 几个原则:
├── globals
│ ├── global.conf.php
│ ├── common.php • 不同的应用分开
│ ├── 各种全局文件和第三方库
├── img • 同一应用全部放一起
│ ├── js
│ ├── css
│ ├── images • MVC即可,不要太多层次
├── Foo
│ ├── configs • 最少暴露,易于部署
│ ├── controllers
│ ├── docs
│ ├── htdocs
│ ├── models
│ ├── views
│ ├── misc
├── Bar
代码治理:使用框架
规范的MVC开发
高质量的基础类库
快速开发
更少的代码量
易于监控
比较好的维护代码一致性
代码治理:版本管理
问题: 方案:
使用git管理线下版本
• 线下开发有版本管理吗?
使用branch来管理不同的开发分支
• 线上部署有版本管理吗? git checkout –b foobar
使用tag上线发布系统
• 线上线下的版本对应的上吗?
git tag v3.07.09
git push origin v3.07.09
• 回滚怎么处理?
git checkout –b v3.07.09 v3.07.09
回滚直接到前一个tag即可
git checkout v3.07.08
代码治理:配置管理
• 共用配置:global.conf.php
• 开发环境:dev.conf.php
• foo机房 :foo.conf.php
• bar机房 :bar
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名:
验证码:
匿名?
发表评论