- PVSM.RU - https://www.pvsm.ru -
Захотелось мне объективных критериев качества кода и конечно я вспомнил про свои давние наработки (коллекцию нефункциональных тестов, см. тут [1] и тут [2]).
Ещё тогда была идея оформить их не в виде коллекции тестов, а в виде отдельной утилиты, но удалось сделать только теперь, встречаем perlqual [3] (от perl quality).
Пока перенёс ранее накопленные тесты, добавил только проверку на DELMEAFTER (чтобы в коде написать DELMEAFTER 2016-01-01 и тесты ругнулись что забыл удалить).
Как неоднократно писал — тесты не могут определить хороший код, но могут обнаружить плохой. Хотя при нынешней моде на нейронные сети с глубинным обучением можно попробовать сделать робота который будет узнавать хороший код, но для этого надо иметь очень большую базу кода о котором точно известно что он хороший, не думаю что CPAN [4] сойдёт за эталон.
Итак, под неплохим кодом подразумевается:
Все параметры данных проверок настраиваются в конфиге, дефолтный конфиг живёт в самом скрипте в секции __DATA__, можно положить себе копию в хомдиру или в папку проекта и настраивать под себя.
Утилита выводит результат в формате TAP [5] и думаю будет полезна для предварительной оценки кода до code review.
Понятное дело что делал под себя и возможно не везде получилось достаточно универсально, поэтому замечания и предложения приветствуются.
Надеюсь утилита будет полезна.
Автор: worldmind
Источник [6]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/perl/111715
Ссылки в тексте:
[1] тут: http://ru-perl.livejournal.com/383519.html
[2] тут: https://habrahabr.ru/post/111655/
[3] perlqual: https://github.com/worldmind/perlqual
[4] CPAN: https://metacpan.org/
[5] TAP: https://testanything.org/
[6] Источник: https://habrahabr.ru/post/276839/
Нажмите здесь для печати.