杨周
CODING DevOps 架构师
CODING 布道师git
连续创业者、DIY/Linux 玩家、知乎小 V,曾在创新工场、百度担任后端开发。十余年一线研发和带队经验,经历了 ToB、ToC、O2O、国内、出海各类项目,见证了云计算时代的诞生,擅长研发最佳实践:Code Review、DevOps、Git Workflow、敏捷开发、架构、极客办公硬件。后端
Composer 官方文档(getcomposer.org)提醒:必定要提交 composer.lock 文件到代码库,才能确保全部人、全部机器安装的依赖包都是同一版本。数组
把第三方包的代码提交到了本身的代码库里,致使代码库过大,拉取速度慢,而且没法跟进第三方包的升级。因此,应该使用.gitignore 忽略vendor 目录。微信
解决方案:删除 vendor,执行 composer install,再把 composer.lock 提交到代码库。架构
结果报错:composer
1.使用了废弃的包;
2.使用了已废弃的语法;
3.框架命令执行失败。框架
查看 PHP 官方文档能够发现:PHP 7.4 不同意使用花括号语法来访问数组元素和字符串偏移量。工具
修改以后便可解决,从这个技术细节能够看出此开源项目没法跟上 PHP 官方的版本升级,在咱们作技术选型时要避免使用这种落后的项目、框架,而应使用全球知名框架,可以紧跟语言官方版本升级,目前 PHP 7.1 已经废弃,7.2 即将结束维护升级,建议你们使用 7.4 。测试
若是须要修改 vendor 中的第三方包,有两个办法:云计算
1.Fork:修改代码→制做补丁,本身用 → 发起合并请求,回馈开源;
2.私有 composer 仓库:把修改后的包发布到 coding.net 制品库。
清理了第三方代码以后,能够经过 Lint(代码静态分析工具)程序扫描本身的代码,PHP Lint 经常使用的是 CodeSniffer,内置知名的「PSR12」规范,包括不少规则,好比:
老项目有成千上万的报错,一次难以清理干净,建议使用增量检查,具体请访问 CODING 帮助文档,搜索「增量检查」。
可测性:不要在系统中使用系统时间、随机数、实例化对象。
Fake:用于伪造测试数据,而不要在测试代码中写死 12三、12:00:00,由于可能 99九、00:00:00 时会报错。
Mock:拦截全部的第三方服务,好比测微信登陆、支付,不可能每次测试都真的付款。
PHPUnit 在自动化测试时,可同时生成测试覆盖率的 HTML 报告,能够看到哪一行代码没有覆盖。这种报告包含代码,因此须要私有访问,可以使用 CODING 通用报告功能,在持续集成中自动上传便可。
在项目开发中,最好让代码先行,在代码里写注释,这样能够保证注释与代码一块儿维护,而后经过工具自动生成文档。
在持续集成中自动生成文档,可上传到 CODING API 文档中,支持团队成员直接访问、加密分享。
点击观看课程回放
关于 CODING,了解更多