PHP_Depend. Анализ зависимостей в РНР-коде
февраля 10, 2008 by ptchinkManuel 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 Новости |