Правило PHPCodeSniffer для ограничения максимального количества инструкций для функции / метода

Я ищу правило PHPCodeSniffer, чтобы ограничить максимальное количество строк кода на функцию / метод.

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

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

return $value;
}

Я хотел бы, чтобы вышеупомянутая функция была учтена как имеющая 5 строк кодирования (не считая комментарии пустыми строками).

3

Решение

Я думаю, что PHPCodeSniffer (phpcs) не имеет стандартного правила для «строки кода», все, что я могу придумать, — это использовать либо другую метрику, например, Cyclomatic Complexity McCabe (это включено как Sniff, называемый Generic.Metrics.CyclomaticComplexity). Это не то же самое, но большое значение имеет индикатор для грязного кода.

Если вы готовы использовать другой инструмент под названием PHP Mess Detector (phpmd), Вы могли бы использовать ExcessiveMethodLength правило отслеживать максимальную длину методов.

3

Другие решения

Ты ищешь снифф в стандарте кодирования ObjectCalisthenics.

Это может ограничить 4 метрики

  • длина строки класса (и черты, интерфейсы)
  • длина строки метода (функции)
  • количество объектов в классе
  • количество методов в классе
1