PHP_Depend. Анализ зависимостей в РНР-коде

февраля 10, 2008 by ptchink

Manuel Pichler выпустил PHP_Depend - утилиту для количественной оценки зависимостей в РНР-коде. Утилита является PHP-портом JDepend . В данный момент утилита умеет считать:

Ca - Afferent Coupling (входящее связываение):
Количество пакетов * , зависящих от классов данного пакета. Эта величина является хорошим показателем того, каким образом изменения классов в этом пакете будут оказывать влияние на другие пакеты.
Ce - Efferent Couplings (исходящее связывание):
Количество пакетов, от классов которых зависит данный пакет. Эта величина показывает, насколько чувствителен этот пакет к изменениям в других пакетах.
I - Instability (неустойчивость):
Соотношение между Ca и общим связыванием (Ce + Ca) . Расчитывается по формуле:
  I = Ce / (Ce + Ca)   

Значение I=0, говорит о полной независимости пакетов от остальных, а 1 о том, что данный пакет используется всеми, но сам не использует никого (например ядро системы).

A - Abstractness (абстрактность):
Показывает соотношение абстрактных классов к общему количеству классов пакета. Расчитывается по формуле:
  A = Ac / (Ac + Cc)   

, где Ac - количество абстрактных классов, а Cc - количество не абстрактных ** .

Помимо расчета количественных значений этих метрик, PHP_Depend умеет строить графики неустойчивость /абстрактность: Утилита поставляется как PEAR-пакет:

   mapi@arwen $ pear channel-discover pear.xplib.de mapi@arwen $ pear install xplib/PHP_Depend-alpha   

,а так же доступна через SVN: http://svn.xplib.de/PHP_Depend/ Оригинал новости: http://www.manuel-pichler.de/archives/21-How-reusable,-extensible-and-maintainable-is-your-software.html

Примечания:

* - пакетом они считают файл, но это можно исправить.

** - ну не знаю я как их по другому назвать :)

Иcтoчник: PHP_Depend. Анализ зависимостей в РНР-коде

Posted in Новости |

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.