Dev (Back & Front)ARTIGO

Detectando código duplicado em PHP com PHP Copy/Paste Detector (PHPCPD)

Neste artigo, Rodrigo Cardoso apresenta o PHP Copy/Paste Detector uma ferramenta que permite identificar a presença de trechos de códigos que foram copias e coladas.

Fala, galera! Tudo bom com vocês?

Estamos aqui de volta para mais um projeto PHP indispensável para melhorar a qualidade de código. Vamos lá?

Muitas vezes criamos funções e métodos que acabam fazendo a mesma coisa, ou tentamos reaproveitar e acabamos simplesmente copiando e colando trechos de código que replicamos em vários arquivos.

Hoje lhes apresento uma ferramenta muito legal para encontrar esse tipo de código, seja de nossos projetos ou de qualquer biblioteca que acabamos por utilizar no desenvolvimento. É o PHP Copy/Paste Detector (PHPCPD).

Ele varre os arquivos de uma pasta pré-definida para verificar todos os pontos que tenha código duplicado, indicando os arquivos que possuem código duplicado e as linhas que são duplicadas.

A sua utilização é muito fácil – precisamos apenas baixar o projeto pelo composer e depois vamos ver como funciona. No caso, vamos utilizar um projeto já com o WordPress.

bash
composer require --dev sebastian/phpcpd

Basta utilizar o executável do phpcpd na pasta vendor/bin. Executando o phpcpd na pasta, seria algo mais ou menos assim:

bash
phpcpd --fuzzy /c/users/pokemaobr/projetos/imasters/wordpress

Onde “/c/users/pokemaobr/projetos/imasters/wordpress” é a pasta do seu projeto. O resultado é algo como isso:

Espero que esse projeto possa ajudar você a duplicar menos código e identificar os pontos que podem ser refatorados.

Um grande abraço e até a próxima!

MBA em Engenharia de Softwares Orientado para Serviços pela Metrocamp, Campinas/SP. Bacharel em Matemática Aplicada e Computacional pela Universidade Federal Rural do Rio de Janeiro, Community Manager do iMasters. Programador PHP desde 2002. Evangelista PHPSP. Desenvolve sistemas desde batalhas Pokemon em mIRC, a robôs automatizadores de tarefas.

Ver perfil