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

Victor Efimov victor на vsespb.ru
Вс Дек 4 11:49:00 PST 2016


4 декабря 2016 г., 22:47 пользователь Akzhan Abdulin via Moscow-pm
<moscow-pm на pm.org> написал:
> Может пригодиться
>
> ---------- Пересылаемое сообщение ----------
> От кого: 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
>
>
>
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>


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