PHPCodeSniffer规则限制每个函数/方法的最大指令数

时间:2016-04-02 19:08:10

标签: php codesniffer phpcodesniffer

我正在寻找PHPCodeSniffer规则来限制每个函数/方法的最大代码行数。

function something($b) {
    // some comment that should be ignored in the count
    $a = 12;

    $value = sqrt(
        $a * $b
    );

    return $value;
}

我希望将上述函数视为具有5个编码行(不将注释计为空行)。

2 个答案:

答案 0 :(得分:3)

我认为PHPCodeSniffer(phpcs)对于"代码行没有标准规则"我所能想到的是要么使用另一个像McCabe Cyclomatic Complexity这样的度量标准(这被包含为一个叫做{{{ 1}})。它不一样,但是值很高,有一个混乱代码的指示器。

如果您愿意使用另一个名为PHP Mess Detector (phpmd)的工具,则可以使用ExcessiveMethodLength rule来跟踪方法的最大长度。

答案 1 :(得分:1)

您正在寻找sniff in ObjectCalisthenics coding standard

它可以限制4个指标

  • 类(和特征,接口)的行长度
  • 方法(功能)的行长度
  • 课程中的属性计数
  • 课程中的方法计数