代码质量,提供帮助的工具

下午好,亲爱的哈勃罗夫特人!



最近,在PHP社区中,我经常听到有关代码审查的讨论,我决定做出贡献,我想谈一谈旨在简化您的生活并提高项目中代码质量的各种可能性。它不仅与PHP有关,这里描述的类似工具也与其他编程语言有关,例如,我在参加NodeJS项目时就了解了它们。



我想分享一些旨在提高代码质量,发现语法错误,将所有内容都融合为一种代码风格的工具,等等。



预先提交



如果您在搜索引擎中输入“ pre-commit php”,它将为您提供一些现成的脚本来分析所编写的代码。对于git,该脚本必须放置在“ .git / hooks /”文件夹中,然后每次提交时该脚本都会运行,并且如果发现错误,则根本不允许您将代码推送到存储库中。某些IDE具有执行相同功能的单独插件,但是如果您有一个庞大的团队并且每个人都使用不同的编辑器怎么办?而且,通过将脚本上载到存储库一次配置该脚本要比分别为每个开发人员配置其IDE容易。更重要的是,在此脚本中,您可以添加团队中使用的任何其他工具,例如静态分析器(例如phpstan)和/或单元测试(例如phpunit



帮助提高代码质量的工具



php -l(仅语法检查(lint))是内置在PHP核心中的语法检查器。



php-cs-fixer(PHP编码标准修复程序)-将代码修复为PSR-1,PSR-2等,或其他社区,例如Symfony。您还可以通过配置定义(团队)样式。那些。您的整个团队将拥有相同的代码风格。



php-cs + php- cbf(PHP CodeSniffer + PHP Code Beautifier)-这是两个PHP脚本的集合;主要的phpcs脚本提取PHP,JavaScript和CSS文件以检测是否违反特定的编码标准,而第二个phpcbf脚本会自动修复常见的编码冲突。与php-cs-fixer类似的工具。



php-md(PHP乱码检测器)-附带项目PHP Depend,旨在与众所周知的Java PMD工具等同于PHP。采用给定的PHP源代码库,并在此源代码中查找几个潜在的问题。这些问题可能是例如语法错误,代码欠佳,表达式过于复杂,未使用的参数/方法/属性。



php-cpd(PHP复制/粘贴检测器)-复制/粘贴PHP代码的检测器。那些。在应用程序的不同部分中找到相同的代码块,这些代码块可以移至单独的函数/方法中。



您可以更深入地进行自动代码审查,并且可能会发现许多其他有趣的工具。



输出量



使用开发世界中可用的工具,您可以使许多常规过程自动化以检查代码,这将使代码的质量提高一个数量级(因为我们排除了人为因素)。为了使整个团队对使用这些工具有更大的信心,可以将它们注入到在源代码控制系统中创建提交之前运行的预提交脚本中。



All Articles