Визуализация PHP-кода с отчетом Checkstyle (из CodeSniffer) - PullRequest
1 голос
/ 28 февраля 2011

PHP CodeSniffer - очень хороший инструмент, помогающий нам проверить наш исходный код PHP. Но отчет от CodeSniffer не так легко прочитать.

Я обнаружил, что CodeSniffer может выводить xml-отчет 'Checkstyle'. Можно ли визуализировать код PHP с помощью отчета Checkstyle xml, чтобы каждый разработчик мог читать код и создавать отчеты на одной странице?

На самом деле я нашел инструмент phpUnderControl, который выглядит как очень хороший инструмент для непрерывной интеграции, и что-то внутри него может удовлетворить мои требования. Но я не планирую менять свой инструмент непрерывной интеграции (я использую Apache Continuum).

Так что, если кто-нибудь подскажет мне простой инструмент или плагин, это будет лучшим.

Спасибо.

1 Ответ

1 голос
/ 18 октября 2011

Это действительно больше комментарий / вопрос, но SO считает, что это слишком долго, поэтому я сформулирую это как ответ:

Предполагая, что вы хотите получить вывод, как это:

$ phpcs --report=checkstyle /path/to/code

<?xml version="1.0" encoding="UTF-8"?>
<checkstyle version="1.0.0">
 <file name="/path/to/code/myfile.php">
  <error line="2" column="1" severity="error" message="Missing file doc comment" source="PEAR.Commenting.FileComment"/>
  <error line="20" column="43" severity="error" message="PHP keywords must be lowercase; expected &quot;false&quot; but found &quot;FALSE&quot;" source="Generic.PHP.LowerCaseConstant"/>
  <error line="47" column="1" severity="error" message="Line not indented correctly; expected 4 spaces but found 1" source="PEAR.WhiteSpace.ScopeIndent"/>
  <error line="47" column="20" severity="warning" message="Equals sign not aligned with surrounding assignments" source="Generic.Formatting.MultipleStatementAlignment"/>
  <error line="51" column="4" severity="error" message="Missing function doc comment" source="PEAR.Commenting.FunctionComment"/>
 </file>
</checkstyle>

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

Вы должны написать сценарий, который принимает путь к исходному файлу в вашем хранилище кода в качестве входного параметра (например, путь / к / коду) и кусок XML «контрольного стиля» в качестве входного (через STDIN), и отображает содержимое файла (в STDOUT) в виде HTML-разметки.

Тело файла внутри должно быть в элементе PRE (чтобы сохранить форматирование), и каждая указанная строка + столбец со ссылкой HREF на элемент списка «ошибка / предупреждение» будет находиться внизу HTML-страницы (I я не уверен, какой тип добавления цвета / выделения может работать внутри элемента PRE).

Это хорошая идея - я бы хотел иметь такой скрипт / инструмент / утилиту сам! Если я когда-нибудь смогу написать его, я обещаю опубликовать его на Github и добавить ссылку на него здесь.

И если вы когда-нибудь найдете / напишите, ПОЖАЛУЙСТА, ответьте на свой вопрос, хорошо?

...