phpcpd 는 PHPUnit 으로 유명한 Sebastian Bergmann 이 만든 품질 검사 도구로 프로젝트내 PHP 코드의 복사/붙여넣기 여부를 검사해 줍니다.
설치
저자는 composer 로 설치하는 것보다는 phar 을 직접 다운받아서 사용하는 것을 권장하고 있습니다.
phpcpd 를 다운로드 받습니다.
sudo curl -L https://phar.phpunit.de/phpcpd.phar -o /usr/local/bin/phpcpd
CODE
실행 속성을 부여합니다.
sudo chmod +x /usr/local/bin/phpcpd
CODE
사용
phpcpd 뒤에 검사할 소스 파일의 폴더를 지정해 주면 됩니다.
$ phpcpd .
phpcpd 5.0.2 by Sebastian Bergmann.
Found 4 clones with 273 duplicated lines in 3 files:
...
1.98% duplicated lines out of 13771 total lines of code.
Average size of duplication is 68 lines, largest clone has 185 of lines
Time: 960 ms, Memory: 8.00 MB
CODE
composer 를 사용하는 프로젝트라면 vendor 폴더를 검사할 필요는 없습니다. --exclude 옵션뒤에 제외할 폴더를 지정해 주면 되며 여러 개의 폴더를 지정할 수 있습니다. 다음은 vendor 와 test 폴더를 제외하고 검사합니다.
$ phpcpd . --exclude=vendor --exclude=tests
CODE
같이 보기
Ref