Обнаружил тут интересный инструмент, написаный Себастьяном Бергманом. PHP Copy Paste Detector!
Данный инструмент находит участки кода, которые были созданы при помощи сложнейшей операции copy-paste.
Мы ведь с вами понимаем, что это плохо??? В наш век, работая с PHP мы можем использовать наследование, делегирование, проксирование и т.д. , но ни в коем случае не должны прибегать к операции копирования и вставки.
использовать утилиту достаточно просто, вот пример:
max@max-hp:~$ phpcpd www/mm.my/
phpcpd 1.1.0 by Sebastian Bergmann.
Found 6 exact clones with 100 duplicated lines in 10 files:
- www/mm.my/local/partialtemplate.php:81-92
www/mm.my/lib/template/maintemplate.php:82-93
- www/mm.my/lib/template/handler/activelisthandlertemplate.php:20-31
www/mm.my/lib/template/handler/selectlisthandlertemplate.php:19-30
- www/mm.my/lib/template/handler/selectlisthandlertemplate.php:14-30
www/mm.my/lib/template/handler/selecttreelisthandlertemplate.php:57-73
- www/mm.my/lib/template/maintemplate.php:46-54
www/mm.my/lib/template/phptemplate.php:44-52
- www/mm.my/local/flashfilter.php:3-14
www/mm.my/lib/filter/mediafilefilter.php:3-14
- www/mm.my/limb/toolkit/package.php:14-57
www/mm.my/limb/core/package.php:14-57
0.45% duplicated lines out of 22215 total lines of code.
max@max-hp:~$
Получить утилиту еще проще:
pear channel-discover pear.phpunit.de
pear install phpunit/phpcpd
после данной операции рядом с бинарником php у меня появился файл /home/max/local/bin/phpcpd



Home