Featured image of post PHP 项目中代码格式风格和代码质量把控

PHP 项目中代码格式风格和代码质量把控

如何在团队开发中把持代码风格一致

  • 团队开发中, 我们尽量要保持风格一致的代码

  • phpstorm设置统一的风格PSR12
    • File -> Settings -> Editor-> Code Style -> Set from -> select PSR12

使用PHP_CodeSniffer检查修复代码风格

  • 在根目录新建phpcs.xml文件,团队统一使用

  • 关于配置文件(官方的文档说明太少太少)

  • 当你运行phpcs,得到错误消息之后, 然后把错误消息的标准文本拿去搜源码,定位到调用的函数,然后再去修改配置文件

  • 比如我很不喜欢每个函数后面都有end xxx()(因为这个功能IDE已经提供)

  • 然后我搜索源码中的//end定位到PHP_CodeSniffer\Standards\Squiz\Sniffs\Commenting::ClosingDeclarationCommentSniff

  • 之后把php.cs配置文件中的<rule ref="Squiz.Commenting.ClosingDeclarationComment"/>移除就可以了

使用phpstan静态分析

  • 在根目录新建phpstan.neon配置文件,团队统一使用

实践

  1. 团队成员在各自的分支开发
  2. 合并到dev分支的时候,使用git hook通知stage机器
  3. stage机器进行代码phpunit测试、phpcs代码风格检测(phpcbf修复)、phpstan静态检测
  4. 如果以上步骤都通过,则合并到master推送到仓库. 否则发送失败通知

注意事项

  • 在容器内跑测试, 需要配置好git账号
  • 然后配置的公钥,可以直接使用宿主机的(记得配置宿主机 .ssh 目录的权限让容器读取公钥)
    volumes:
        # 共享 git 公钥 
        -/root/.ssh:/home/laradock/.ssh