Код выхода PHPCS на основе порога

Я пытаюсь внедрить PHPCS в свой проект, который имеет огромную техническую глубину. У меня есть, например, один модуль с 378 обнюхиваниями (объединенными ошибками и предупреждениями). Однако дело в том, что у меня также около 29 модулей, что делает почти невозможным закончить эту техническую глубину за короткий промежуток времени.

Чего я хочу, так это сохранить его по крайней мере стабильным, чтобы одна из команд могла продолжать разработку, а другая могла навести порядок на месте. Вопрос в том, как я могу включить сканирование PHPCS, но, например, пусть оно терпит неудачу только тогда, когда в данном случае в этом модуле встречается более 378 совпадений. Таким образом, я могу гарантировать, что моя глубина останется прежней, и в течение длительного времени я могу гарантировать, что она будет снижена.

Насколько я вижу, единственный способ с самим PHPCS - установить уровни серьезности и позволить ему сломаться там, но я бы предпочел оставаться как можно ближе к стандартам кодирования по умолчанию и держать их как можно более строгими.

Большое спасибо

Пим


person Dirkos    schedule 13.11.2017    source источник
comment
Вы не говорите, что вы делаете с результатом, но я предполагаю что-то вроде инструмента сборки или проверки перед фиксацией. В этих случаях вы можете пропустить проверку кода выхода и вместо этого попросить PHPCS предоставить вам отчет в формате CSV/XML/JSON — что-то, что вы можете использовать, чтобы легко получить общее количество ошибок для запуска (или для каждого файла). . Затем используйте эти данные, чтобы решить, хотите ли вы провалить запуск или нет. Возможно, оберните PHPCS в свой собственный скрипт, чтобы вы могли контролировать код выхода.   -  person Greg Sherwood    schedule 15.11.2017


Ответы (1)


Я создаю собственный скрипт, как упоминалось выше Грегом, который проверяет результат --report=summary через регулярное выражение. Затем результат регулярного выражения определяет код выхода 0 или 1 оттуда.

Было бы полезно, если бы PHPCS мог сделать что-то подобное сам, но его там нет

person Dirkos    schedule 17.11.2017