Как осуществить Стандарты Кодирования Delphi

Я хочу осуществить стандарты кодирования для нашей кодовой базы Delphi.

Несколько коллег предложили Целителя Кода и Паскаля Анализатор. Я взглянул на эти инструменты, и они не подходят.

Я надеялся смочь сделать то же самое, которое могут сделать CheckStyle для Java или StyleCop для C#

6
задан Warren P 5 October 2015 в 16:22
поделиться

3 ответа

Некоторые новые версии Delphi предлагают Аудиты и метрики в представлении модели, которое также можно настроить для установки допустимых пределов. Они не запускаются из командной строки для интеграции сборки afaik, поэтому я счел их не очень полезными.

Я знаю настраиваемые инструменты Java (и .Net), такие как PMD, FindBugs и CheckStyle, которые генерируют статистические отчеты в формате XML или HTML, а также очень хорошо интегрируются с инструментами сборки (Ant, Maven, Hudosn) - но для Delphi нет ничего сопоставимого. пересек мою дорогу до сих пор.

3
ответ дан 10 December 2019 в 02:42
поделиться

Похоже, эти 2 используются чаще всего. Вы также можете попробовать:

http://jedicodeformat.sourceforge.net/

3
ответ дан 10 December 2019 в 02:42
поделиться

Лучшим из них является Pascal Analyzer (PAL) от Peganza, который, как вы сказали, вы попробовали и сочли неподходящим, но не объяснили почему. Я скажу немного в его пользу: он коммерческий, недорогой и того стоит. Они недавно выпустили версию 5, и если версия 5 не делает то, что вы хотите, вы должны сказать им, что вы хотите, потому что они всегда отвечали на мои запросы всякий раз, когда я упоминал функцию, которую я хотел бы добавить в продукт.

Мы используем его вместо высокопроизводительных SKU метрик Delphi, потому что он стоит меньше и дает больше, чем встроенный компонент в 3000 долларов. Я думаю, это стоит около 160 долларов США.

Я счастливый покупатель. Вот образец некоторых из метрических областей, которые мне нравятся: соответствие соглашениям - имена классов, которые не начинаются с T, типы исключений не начинаются с E, поля класса не являются закрытыми, идентификаторы с тупыми именами, путаница с видимостью класса или неправильный порядок, конфликт локального идентификатора / внешнего идентификатора объекта. Несоответствующий случай, много, много, еще много!

alt text

Слабым местом является то, что на выходе получается простой текст в элементе управления TMemo. Конечно, я нашел множество способов взять этот вывод и написать свои собственные небольшие утилиты сортировки / фильтрации, чтобы извлекать из отчетов еще более полезный материал. Мощный инструмент, без которого вы не сможете жить, если попробуете его.

Насколько я понимаю, в своем ответе вы сказали, что уже пробовали это, но если это не то, что вам нужно, это уже лучший LINT-подобный инструмент для Паскаля, который существует в настоящее время.

3
ответ дан 10 December 2019 в 02:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: