Olá, tudo bem?!

Você já deve ter esbarrado ou feito manutenção em códigos que o método tem muitas ações, como bem sabemos isso é muito ruim, pois aumenta a complexidade da leitura, manutenção, acoplamento e dificulta seu reuso. Abaixo podemos observar um exemplo:

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

public function printOwing() 
{
    $this->printBanner();

    //print details
    print("name:  " . $this->name);
    print("amount " . $this->getOutstanding());

Por que refatorar?

Quanto mais linhas um método tiver, mais difícil será localizar bugs, prestar manutenção, implementar novas funcionalidades e reutilizar a solução.

Extrair métodos é um pontapé inicial em muitas outras abordagens de refatoração.

Solução para o problema!

Podemos extrair essa complexidade para métodos isolados, para isso devemos analisar as ações do método e decompor em pequenos métodos auxiliares, como podemos observar abaixo:

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

  public function printOwing() 
  {
      $this->printBanner();
      $this->printDetails();
  }

  public function printDetails() 
  {
      print("name:  " . $this->name);
      print("amount " . $this->getOutstanding());
  }

Benefícios!

  • Código mais legível!
  • Menos duplicação de código.
  • Código manutenivel.
  • Facilita novas implementações.
  • Possibilita o reuso dos recursos.

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

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

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