Olá, tubo bem?!

Frequentemente vemos o uso de variáveis locais realizarem operações e/ou ações.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
  <?php

  $basePrice = $this->quantity * $this->itemPrice;

  if ($basePrice > 1000){
    return $basePrice * 0.95;
  }
  else{
    return $basePrice * 0.98;
  }

Por que devemos refatorar?

  • Abrirá portas para utilizarmos o Extract Methods.
  • Podemos reutilizar a mesma expressão em outras partes do sistema.
  • Facilitamos as modificações/implementações de regras de negócio.

Solução para o problema!

Devemos extrair a lógica responsável por realizar a operação e limpamos o processo de execução do código.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
  <?php 

  if ( $this->basePrice() > 1000 ){
    return $this->basePrice() * 0.95;
  }

  return $this->basePrice() * 0.98;

  ...

  public function basePrice() 
  {
    return $this->quantity * $this->itemPrice;
  }

Benefícios!

  • Códigos mais legíveis.
  • Códigos mais enxutos.
  • Manuteníveis.
  • Reutilizáveis.

Espero que tenha apreciado o conteúdo, ele foi inspirado no documento Refactogin Guru.

Convido a interagir nos comentários e a compartilhar com seus amigos.

Obrigado pela atenção e sucesso em seus projetos!