Blog

  • Инструменты обеспечение качества программного продукта для PHP

    \"\"

    В тексте статьи находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.

    PHP_CodeCoverage

    PHP_CodeCoverage это библиотека, которая обеспечивает сбор, обработку и отображение информации о покрытии кода тестами, требует xdebug, а так же использует некоторые сторонние библиотеки. Более подробная информация находится на официальном сайте.

    Автор: Sebastian Bergmann
    Официальный сайт: http://github.com/sebastianbergmann/php-code-coverage
    Официальный PEAR канал: http://pear.phpunit.de/
    Текущая версия: 0.9.0 (alpha)
    PhpDocumentor

    На основании комментариев в исходном коде генерирует соответствующую документацию, имеет уйму возможностей в числе которых презентабельный и дружественный к пользователю шаблоны.

    Автор: Joshua Eichorn
    Официальный сайт: http://www.phpdoc.org/
    Официальный PEAR канал: http://pear.php.net/
    PHP Copy/Paste Detector [phpcpd]

    Название говорит само за себя: находит дублированный код и сообщает о нем.

    Автор: Sebastian Bergmann
    Официальный сайт: http://github.com/sebastianbergmann/phpcpd
    Официальный PEAR канал: http://pear.php.net/
    Текущая версия: 1.3.1 (stable)
    PHP_Depend

    Собирает и отображает статистическую информацию о проекте.

    Автор: Manuel Pichler
    Официальный сайт: http://pdepend.org/
    Официальный PEAR канал: http://pear.pdepend.org/
    Текущая версия: 0.9.11 (beta)
    PHP_PMD

    Ответвление от PHP_Depend: отображает информацию о размерах кода, используемых именах, неиспользуемом коде. Обзор от DevMan

    Автор: Manuel Pichler
    Официальный сайт: http://phpmd.org/
    Официальный PEAR канал: http://pear.phpmd.org/
    Текущая версия: 0.2.5 (alpha)
    PHP_CodeSniffer

    Позволяет наблюдать за состоянием PHP, Javascript и CSS файлов и определять отклонения от принятых стандартов кодирования. Обзор от DevMan

    Автор: Greg Sherwood
    Официальный сайт: http://matrix.squiz.net/developer/tools/php_cs
    Официальный PEAR канал: http://pear.php.net/
    Текущая версия: 1.2.2 (stable)
    PHPUnit

    Пожалуй самый известный инструмент для модульного тестирования, думаю в представлении не нуждается.

    Автор: Sebastian Bergmann
    Официальный сайт: http://www.phpunit.de/
    Официальный PEAR канал: http://pear.phpunit.de/
    Текущая версия: 3.4.12 (stable)
    PHP_CodeBrowser

    Обеспечивает просмотр кода с синтаксической подсветкой, имеет богатые возможности по визуализации, может использовать отчеты от: phpunit, phpcpd, padawan, phpcs. Из этого обзора можно понять насколько инструмент перспективный.

    Автор: Mayflower GmbH
    Официальный сайт: http://github.com/mayflowergmbh/PHP_CodeBrowser
    Официальный PEAR канал: http://pear.phpunit.de/
    Текущая версия: 0.1.3 (alpha)
    phploc

    Еще один инструмент собирающий статистическую информацию о проекте.

    Автор: Sebastian Bergmann
    Официальный сайт: http://github.com/sebastianbergmann/phploc
    Официальный PEAR канал: http://pear.phpunit.de/
    Текущая версия: 1.5.1 (stable)
    phpdcd

    Детектор неиспользуемого кода (Dead Code Detector) для PHP. Он сканирует PHP проект на предмет всех определенных функций и методов и сообщает о них как о неиспользуемых если из вызов не встречается хотя бы однажды

    Автор: Sebastian Bergmann
    Официальный сайт: http://github.com/sebastianbergmann/phpdcd
    Официальный PEAR канал: pear.phpunit.de
    Текущая версия: 0.9.2 (beta)
    Padawan

    Инструмент для обнаружения антипаттернов, обходных путей и прочих неприятностей.

    Автор: Sebastian Bergmann
    Официальный сайт: http://github.com/sebastianbergmann/padawan
    Официальный PEAR канал: неизвестен
    Текущая версия: неизвестна
    PHP_CachegrindParser

    Обработчик для cachegrind файлов создающий xml отчеты для последующего использования в CI.

    Автор: Mayflower GmbH
    Официальный сайт: http://github.com/mayflowergmbh/PHP_CachegrindParser
    Официальный PEAR канал: неизвестен
    Текущая версия: неизвестна
    Источник статьи
    Хабрахабр: PHP – Обеспечение качества программного продукта

    Что ещё можно почитать:
    http://sebastian-bergmann.de/software/
    http://manuel-pichler.de/