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


PHPCodeSniffer rule to limit the maximum number of instructions per function / method

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

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

我希望上面的函数有5行代码(不包括空白行的注释)。

我认为PHPCodeSniffer(phpcs)没有"代码行"的标准规则,我所能想到的就是使用另一个度量,比如McCabe Cyclomatic Complexity(这是作为一个名为Generic.Metrics.CyclomaticComplexity的Sniff包含的)。这是不一样的,但一个高值有一个混乱代码的指标。

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

您正在寻找ObjectCali衰弱编码标准中的嗅探。

它可以限制4个指标

  • 类的线长(以及性状、界面)
  • 方法(函数)的行长度
  • 类中的属性计数
  • 类中的方法计数