乐趣区

关于git:CODING-DevOps-代码质量实战系列第二课-PHP-版

讲师介绍

杨周
CODING DevOps 架构师
CODING 布道师

间断创业者、DIY/Linux 玩家、知乎小 V,曾在翻新工场、百度负责后端开发。十余年一线研发和带队教训,经验了 ToB、ToC、O2O、国内、出海各种我的项目,见证了云计算时代的诞生,善于研发最佳实际:Code Review、DevOps、Git Workflow、麻利开发、架构、极客办公硬件。

PHP 老我的项目常见品质问题

问题一:未提交 composer.lock

Composer 官网文档(getcomposer.org)揭示:肯定要提交 composer.lock 文件到代码库,能力确保所有人、所有机器装置的依赖包都是同一版本。

问题二:提交了 vendor

把第三方包的代码提交到了本人的代码库里,导致代码库过大,拉取速度慢,并且无奈跟进第三方包的降级。所以,应该应用.gitignore 疏忽 vendor 目录。

解决方案:删除 vendor,执行 composer install,再把 composer.lock 提交到代码库。

后果报错:

1. 应用了废除的包;
2. 应用了已废除的语法;
3. 框架命令执行失败。

查看 PHP 官网文档能够发现:PHP 7.4 不赞成应用花括号语法来拜访数组元素和字符串偏移量。

批改之后即可解决,从这个技术细节能够看出此开源我的项目无奈跟上 PHP 官网的版本升级,在咱们做技术选型时要防止应用这种落后的我的项目、框架,而应应用寰球出名框架,可能紧跟语言官网版本升级,目前 PHP 7.1 曾经废除,7.2 行将完结保护降级,倡议大家应用 7.4。

批改 composer 包

如果须要批改 vendor 中的第三方包,有两个方法:

1.Fork:批改代码→制作补丁,本人用 → 发动合并申请,回馈开源;
2. 公有 composer 仓库:把批改后的包公布到 coding.net 制品库。

Lint:增量查看代码标准

清理了第三方代码之后,能够通过 Lint(代码动态剖析工具)程序扫描本人的代码,PHP Lint 罕用的是 CodeSniffer,内置出名的「PSR12」标准,包含很多规定,比方:

  • 每行代码最大长度 120 个字符;
  • 运算符左右各 1 个空格;
  • 文件结尾必须有一个空行。

老我的项目有成千上万的报错,一次难以清理洁净,倡议应用增量查看,具体请拜访 CODING 帮忙文档,搜寻「增量查看」。

PHP 自动化测试

自动化测试要点

可测性:不要在零碎中应用零碎工夫、随机数、实例化对象。
Fake:用于伪造测试数据,而不要在测试代码中写死 123、12:00:00,因为可能 999、00:00:00 时会报错。
Mock:拦挡所有的第三方服务,比方测微信登录、领取,不可能每次测试都真的付款。

PHPUnit 在自动化测试时,可同时生成测试覆盖率的 HTML 报告,能够看到哪一行代码没有笼罩。这种报告蕴含代码,所以须要公有拜访,可应用 CODING 通用报告性能,在继续集成中主动上传即可。

PHP 代码主动生成 API 文档

在我的项目开发中,最好让代码后行,在代码里写正文,这样能够保障正文与代码一起保护,而后通过工具主动生成文档。

在继续集成中主动生成文档,可上传到 CODING API 文档中,反对团队成员间接拜访、加密分享。

点击观看课程回放
对于 CODING,理解更多

退出移动版