【问题标题】:Can all PHP mess-detecter checks be replaced with PHP code-sniffer checks?可以用 PHP 代码嗅探器检查替换所有 PHP 混乱检测器检查吗?
【发布时间】:2020-07-13 06:14:18
【问题描述】:

我有一个项目同时使用 PHPMD(PHP Mess Detector)和 PHPCS(PHP Code Sniffer),这让我想知道是否所有 PHPMD 检查都可以替换为 PHPCS 检查,还是最好同时使用两者?

PHPMD 检查的列表似乎在这里:https://phpmd.org/rules/index.html 但我没有找到任何关于 PHPMD 提供的好处的信息。

【问题讨论】:

    标签: php phpcs phpcodesniffer phpmd


    【解决方案1】:

    PHP Code Sniffer 主要用于检测违反给定编码标准(如 PSR-2)的情况。它具有不同样式的配置,您可以手动配置每个规则。

    PHP Mess Detector 更关注代码本身的质量 - 例如函数的复杂性、不必要的结构、定义干净代码的规则等。类似地,您可以配置每个预定义规则 - 无论您希望它们是应用与否,以及某些检查的可能阈值。

    回答您的问题 - 是的,所有 PHP MD 规则都可以编写为 CodeSniffer 嗅探器,但在有人有时间和耐心这样做之前 - 我们可以继续使用这两个 :)

    例如,一些 PHPMD 规则已经存在于 PHPCS 中,例如复杂性规则: https://github.com/squizlabs/PHP_CodeSniffer/blob/master/src/Standards/Generic/Sniffs/Metrics/CyclomaticComplexitySniff.php

    对于 PHPMD 中的函数/方法大小和其他类似检查,这里有一个 PHPCS 标准,其中包含其中一些:

    https://github.com/object-calisthenics/phpcs-calisthenics-rules

    如果你真的喜欢模仿一切,你可以搜索更多。并自己填写。

    但在大多数情况下,如果您没有时间、耐心或某些硬件/计算/时间限制,您可以同时使用它们,而不必费心将它们组合起来。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-01-20
      • 2017-12-17
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 2011-09-12
      • 1970-01-01
      • 2012-08-15
      相关资源
      最近更新 更多