2
respostas

Refatorar código

Como posso refatorar trechos de código automaticamente com PHPStorm?

2 respostas

Olá, Gustavo. Tudo bem?

Primeiramente, peço desculpas pela demora em responder a sua pergunta.

Abaixo, algumas dicas de refatoração no PHPStorm que podem te auxiliar no dia a dia

1º - Renomear variáveis: corrige automaticamente todas as referências de um nome específico no código para você.

Com o seu PHPStorm aberto selecione alguma variável do seu código que deseje substituir e aperte SHIFT + F6, aparecerá a seguinte tela:

Imagem com fundo branco, com um código simples em PHP, que tem na primeira linha a variável x, com o conteúdo de “Vinicius Louzada Valente”, na segunda linha a impressão da variável x e na terceira, a concatenação da variável x com a string “é brasileiro”. Nesta mesma tela, tem uma janela em formato retangular que apresenta as opções para renomear a variável x.

No campo onde está escrito: "Rename Variable 'x' and its usages to:", você deve escolher um novo nome para sua variável. Nesse exemplo, eu irei escolher: "nomeCompleto". Conforme a imagem abaixo:

Imagem com fundo branco, com código simples em PHP, que tem na primeira linha a variável x, com o conteúdo de “Vinicius Louzada Valente”, na segunda linha a impressão da variável x e na terceira, a concatenação da variável x com a string “é brasileiro”. Nesta mesma tela, tem uma janela em formato retangular que apresenta os passos que devem ser seguidos para renomear a variável. 1º Passo: é digitar o novo nome da variável. 2º Passo é selecionar o escopo que a variável vai ser alterado. Exemplo: No arquivo atual ou em todo o projeto. 3º Passo: é clicar na opção “Refactor” para realizar a refatoração

Repare no campo "Scope", você irá informar onde o PHPStorm irá realizar a modificação, nesse exemplo vamos realizar em "Current File" significa que significa "Arquivo atual". Por fim, você deve clicar em "Refactor" que irá realizar a refatoração.

Continua na próxima postagem

Continuação da postagem anterior

2º - Extract Method: Extrai alguma parte do código para um novo método

Com o seu PHPStorm aberto selecione algum trecho do seu código que deseje extrair para um novo método e aperte:

  • Para Windows: CTRL + Alt + M
  • Para Mac: Cmd+Alt+M

Aparecerá a seguinte janela:

Imagem com fundo branco, com código simples em PHP, que tem na primeira linha a definição da variável “idade” sendo atribuída a ela 15, e na segunda linha é definida a estrutura de decisão “if” verificando se a idade for maior ou igual a 18, então será exibido para o usuário que ele é maior de idade, em contrapartida, se essa condição não for verdadeira a estrutura “else” declarado logo em seguida, irá mostrar para o usuário que ele é menor de idade. Nessa mesma tela, há uma janela de formato retangular que esclarece o passo a passo do Extract Function. O 1º passo é escolher o nome da nova função. O 2º passo é verificar o tipo de parâmetro que será recebido. Ex: inteiro. 3º Passo: é clicar na opção “Refactor” para realizar a refatoração

Nessa nova janela que abriu, no campo "Name" você irá escrever o nome da sua nova função. No campo "Parameter" o PHPStorm mostra os parâmetros que sua função deverá receber. Após você ter verificado tudo, você deve clicar em "Refactor".

Você terá o seguinte resultado: Imagem com fundo branco, com código simples em PHP, que tem na primeira linha a definição da variável “idade” sendo atribuída a ela 15, e na segunda linha há annotations dizendo que a variável idade é do tipo inteiro e uma outra annotations dizendo que a nova função criada retorna void. Logo abaixo das annotations, está definida uma nova função com o nome de: “verificaMaioridade” que recebe como parâmetro uma variável do tipo inteiro. Dentro da função está declarada a estrutura de decisão “if” verificando se a idade for maior ou igual a 18, então será exibido para o usuário que ele é maior de idade, em contrapartida, se essa condição não for verdadeira a estrutura “else” declarado logo em seguida, irá mostrar para o usuário que ele é menor de idade.

Repare que o trecho de código que selecionamos agora virou um novo método.

Esses dois tipos de refatorações irão facilitar muito em diversos momentos quando você estiver desenvolvendo, mas ainda há outras formas de refatoração. E para aprimorar e conhecer ainda mais sobre esses outros formatos, recomendo o curso da Alura sobre o IntelliJ, um ambiente de desenvolvimento Java, mas feito pelo mesmo fabricante do PHPStorm: a Jetbrains. Os conceitos e atalhos mostrados nesse curso também são válidos para o PHPStorm:

Fora isso, também recomendo a página da própria Jetbrains que mostra alguns atalhos e dicas de refatoração utilizando o PHPStorm. A página está em inglês, mas utilizando o recurso de tradução de páginas do próprio navegador é possível compreender:

Espero ter ajudado, Gustavo. Se tiver mais alguma dúvida estou a disposição e bons estudos =)

Grande abraço!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!