[Moscow.pm] Fwd: [Kiev-pm] Perl::Analyzer - статический анализатор кода на Perl

Akzhan Abdulin akzhan.abdulin на gmail.com
Вс Дек 4 11:47:27 PST 2016


Может пригодиться

---------- Пересылаемое сообщение ----------
От кого: Sergei Mozhaisky <sergei.mozhaisky на gmail.com>
Дата: 4 декабря 2016 г., 21:27
Тема: [Kiev-pm] Perl::Analyzer - статический анализатор кода на Perl
Кому: "Kiev.pm group" <kiev-pm на pm.org>


Всем привет!

В моем последнем проекте на Перле была весьма сложная структура классов -
многоуровневое наследование, переопределение методов, в общем, все прелести
ООП. Зачастую во время отладки приходилось выяснять "откуда же наследуется
этот метод, который валится с ошибкой, и кто его мог переопределить". В
один прекрасный момент мне это надоело, и я стал искать утилиты для
статического анализа кода. Но, к сожалению, у них у всех был один фатальный
недостаток (с) - они не делали то, что было нужно мне. Вот так, из
модуля Module::Dependency, палок и веревок появился Perl::Analyzer:

http://technix.github.io/Perl-Analyzer/

Что он может:

1. Сделать диаграмму классов и наследования:
http://technix.github.io/Perl-Analyzer/images/packages.png
Но это не очень интересно, да и работать с ней не очень удобно

2. Сделать анализ кода и представить результат в виде HTML-файлов:
http://technix.github.io/Perl-Analyzer/perl-analyzer/DBIx-
Class-Schema-Versioned.html
Здесь можно увидеть:
- сколько в пакете строк, методов и зависимостей
- как выглядит дерево зависимостей пакета
- список всех пакетов, от которых наследуется наш пакет
- список пакетов которые подключены через use или require
- список методов, определенных в пакете (и какие методы они переопределяют)
- унаследованные методы - откуда они наследуются и где "по дороге"
переопределены
- какие методы других классов явно используются в этом пакете

Вот здесь можно посмотреть, как выглядят результаты анализа модуля
DBIx::Class:
http://technix.github.io/Perl-Analyzer/perl-analyzer/index.html

Надеюсь, кому-нибудь это пригодится :)
С радостью приму фичареквесты и багрепорты.

-- 
Sergei Mozhaisky
http://technix.in.ua/

_______________________________________________
Kiev-pm mailing list
Kiev-pm на pm.org
http://mail.pm.org/mailman/listinfo/kiev-pm
----------- следущая часть -----------
Вложение в формате HTML было извлечено…
URL: <http://mail.pm.org/pipermail/moscow-pm/attachments/20161204/2db90940/attachment.html>


Подробная информация о списке рассылки Moscow-pm