De que se trata o artigo:

Neste artigo veremos como utilizar os recursos de refatoração da IDE NetBeans para realizar ajustes no código-fonte de seus projetos.


Para que serve:

A refatoração permite realizar diversas operações durante o desenvolvimento de aplicativos, como alterações de nome, modificações de métodos e cópias de elementos.

Em que situação o tema útil:

Durante os esforços de desenvolvimento e programação e, principalmente, manutenção de uma aplicação, é muito comum precisarmos fazer operações que causam repercussões em todo o projeto. Quem precisa fazer tarefas como esta podem obter vantagens com o uso de refatoração.

O programador talvez seja um profissional que pouco possa reclamar de rotina. A toda hora novos requisitos das aplicações surgem e fazem com que os desafios sejam constantemente redefinidos. Entretanto, implementar estes novos requisitos e as novas aplicações é uma tarefa composta de diversas atividades que podemos, estas sim, definir como rotineiras.

Algumas destas atividades consistem em ajustes e alterações no código-fonte de aplicações. E uma alteração mal feita ou mal planejada pode acarretar em repercussões de grande – e negativo – impacto no trabalho.

Um dos recursos oferecidos por IDEs colabora bastante com estas atividades: a refatoração. Neste artigo veremos como utilizar a refatoração de código utilizando o NetBeans 6.8, corrigindo uma aplicação construída a partir de um projeto mal elaborado.

A refatoração é uma forma de modificar uma aplicação para torná-la mais fácil de manter ou de adicionar novas funcionalidades; para que ela fique mais compreensível; para remover repetições desnecessárias; melhorar a possibilidade de reutilização do código e melhorar seu desempenho.

As IDEs oferecem recursos de refatoração para automatizar estas tarefas, diminuindo o trabalho do desenvolvedor e tornando-o mais produtivo e menos sujeito a erros. Deste modo, o desenvolvedor solicita à IDE uma tarefa de refatoração do código-fonte e esta identifica as mudanças a serem feitas, mostra ao programador o que será modificado e efetua as operações.

Um cardápio mal planejado

Para trabalharmos com a refatoração, consideremos um projeto feito às pressas para atender a um pequeno restaurante. A modelagem desta aplicação foi propositalmente mal desenhada (veja a Figura 1).

Figura 1. Diagrama de classes da aplicação.

Este projeto tem como elemento central a classe Cardapio (Listagem 1). Esta classe contém uma classe interna chamada Prato. A classe Cardapio implementa um vetor de 30 pratos, que são instâncias da classe Prato. A Listagem 1 não está completa e foi desenhada para demonstrar a criação de uma variável p01, que será necessária para definir os atributos de um dos pratos. Se esta aplicação fosse utilizada em um caso real, seria necessário criar 30 destas variáveis, uma para cada prato do restaurante. Nós estamos simplificando o código desta listagem para que ele não fique repetitivo e cansativo.

Neste exemplo iremos trabalhar com um único prato, apenas para exemplificar as operações de refatoração. Uma vez refatorada, a aplicação poderá implementar os pratos de forma muito mais inteligente.

Listagem 1. A classe Cardapio implementa a base para um cardápio de 30 pratos.


  public class Cardapio {
   
    public Prato[] pratos = new Prato[30];
    public Cardapio.Prato p01 = new Prato();
   
    public class Prato{
      public String tipo, nome;
      public float preco;
    }
     
  } ... 

Quer ler esse conteúdo completo? Tenha acesso completo