damien-list / phpcpd
PHP代码的复制粘贴检测器(CPD)。
4.1.3
2019-11-26 07:30 UTC
Requires
- php: ^7.3
- ext-dom: *
- damien-list/finder-facade: >=2.0
- phpunit/php-timer: ^2.0
- sebastian/version: ^2.0
- symfony/console: ^4.0|^5.0
README
PHP复制粘贴检测器(PHPCPD)
phpcpd
是一个用于PHP代码的复制粘贴检测器(CPD)。
安装
PHP存档(PHAR)
获取PHPCPD的最简单方法是下载一个包含所有依赖项的PHP存档(PHAR)文件
$ wget https://phar.phpunit.de/phpcpd.phar
$ chmod +x phpcpd.phar
$ mv phpcpd.phar /usr/local/bin/phpcpd
当然,您下载后也可以立即使用PHAR
$ wget https://phar.phpunit.de/phpcpd.phar
$ php phpcpd.phar
Composer
您可以使用 Composer 将此工具添加为项目依赖,用于本地、项目特定、开发时依赖
$ composer require --dev sebastian/phpcpd
然后您可以使用 vendor/bin/phpcpd
可执行文件调用它。
使用示例
$ phpcpd --fuzzy wordpress-4.9.8
phpcpd 4.1.0 by Sebastian Bergmann.
Found 66 clones with 3014 duplicated lines in 40 files:
- /home/sb/wordpress-4.9.8/wp-includes/Requests/IRI.php:358-708 (350 lines)
/home/sb/wordpress-4.9.8/wp-includes/SimplePie/IRI.php:404-754
.
.
.
- /home/sb/wordpress-4.9.8/wp-includes/SimplePie/File.php:133-144 (11 lines)
/home/sb/wordpress-4.9.8/wp-includes/SimplePie/File.php:215-226
0.86% duplicated lines out of 349460 total lines of code.
Average size of duplication is 45 lines, largest clone has 350 of lines
Time: 1.79 seconds, Memory: 272.00MB