Narzędzia Refaktoryzacji
Kody źródłowe dla omawianych wzorców: http://svn.nobleprog.com/training/php/Refactoring/
PHP Code Sniffer ⌘
Czym jest PHP Code Sniffer? ⌘
Narzędzie sprawdzające składnię (nie pod kątem poprawności) kodu pod kątem konwencji kodowania (Codding Standards) jak na przykład: niepotrzebnych białych znaków, konwencji nazewnictwa zmiennych, klas, metod etc.
Instalacja ⌘
pear install PHP_CodeSniffer
Wyświetlanie listy zainstalowanych standardów ⌘
phpcs -i
Sprawdzanie składni wybranej klasy ⌘
phpcs --standard=Zend Customer.php
PHP Coding Standards Fixer ⌘
Czym jest PHP Coding Standards Fixer? ⌘
Narzędzie poprawiające składnie kodu pod kątem konwencji kodowania (Codding Standards). Twórcami narzędzia jest firma Sensio Labs, stojąca za frameworkiem Symfony.
Instalacja ⌘
sudo wget http://cs.sensiolabs.org/get/php-cs-fixer.phar -O <sciezka_instalacji>/php-cs-fixer
Poprawienie składni wybranej klasy ⌘
php php-cs-fixer.phar fix Customer.php --fixers=linefeed,short_tag,indentation
PHPLOC ⌘
Czym jest PHPLOC? ⌘
Narzędzie analizy struktury (jak liczba linii kodu, liczby metod, klas etc) autorstwa Sebastiana Bergmanna.
Instalacja ⌘
pear config-set auto_discover 1
pear install pear.phpunit.de/phploc
Analiza kodu ⌘
phploc Customer.php
PHP Copy/Paste Detector (PHPCPD) ⌘
Czym jest PHP Copy/Paste Detector (PHPCPD)? ⌘
Narzędzie pozwalające na odnalezienie zduplikowanych (minimalna liczba wykrywanych linii możliwa jest do skonfigurowania) linii kodu. Zduplikowane funkcjonalności można zastąpić jedną metodą. Autorem narzędzia jest Sebastian Bergmann.
Instalacja ⌘
pear config-set auto_discover 1
pear install pear.phpunit.de/phpcpd
Przeszukiwanie kodu pod kątem zduplikowanych linii kodu ⌘
phpcpd <sciezka_projektu>
Dead Code Detector ⌘
Czym jest Dead Code Detector? ⌘
Narzędzie pozwalające na odnalezienie zadeklarowanych metod i zmiennych, które nie są używane, autorstwa Sebastiana Bergmanna.
Instalacja ⌘
pear config-set auto_discover 1
pear install pear.phpunit.de/phpdcd
Przeszukiwanie kodu pod kątem nieużywanych zmiennych i metod ⌘
phpdcd <sciezka_projektu>
PHP Depend ⌘
Czym jest PHP Depend? ⌘
Narzędzie pozwalające na analizę metryk oprogramowania.
Instalacja ⌘
pear channel-discover pear.pdepend.org
pear install pdepend/PHP_Depend-beta
Analiza metryk kodu ⌘
phpdepend <sciezka_projektu>
w wersji 1.1.4:
pdepend <sciezka_projektu>
PHPMD - PHP Mess Detector ⌘
Czym jest PHPMD - PHP Mess Detector? ⌘
Narzędzie pozwalające na analizę wielu aspektów związanych z oprogramowaniem takimi jak na przykład: złożoność cyklomatyczną, nadmierną złożoność metod, nadmierną wielkość klas, użycie zmiennych globalnych, konwencje nazewnicze, użycia niezalecanych konstrukcji jak eval czy GOTO, nieużywanych metod etc.
Instalacja ⌘
pear channel-discover pear.phpmd.org
pear channel-discover pear.pdepend.org
pear install --alldeps phpmd/PHP_PMD
Analiza kodu ⌘
phpmd <sciezka_projektu> xml codesize