DevMedia - asp.net, Java, Delphi, SQL e web Design, tudo em um só lugar!
Bem vindo a DevMedia!
LOGIN:     SENHA:
 
 

  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!


Artigo .net Magazine 38 - Refactoring - Conceito e aplicação prática

Artigo publicado na Revista .net Magazine - Edição 38.

capaNET38.JPG

Clique aqui para ler todos os artigos desta edição

Visual Studio

Refactoring - Conceito e aplicação prática

 

Você concorda que parte do tempo de trabalho de um desenvolvedor de software envolve revisão de código? Essa parcela de tempo tende a aumentar conforme o andamento do projeto, embora normalmente, não seja computado ou mesmo mencionado nele.

Conhecer técnicas e recursos para tornar a revisão de código mais rápida e mais produtiva deve estar entre as prioridades de um desenvolvedor, para que ele possa entregar seu projeto com maior qualidade e com menor esforço.

Mostrar a técnica de refatoração de código e os novos recursos disponíveis no Visual Studio 2005 para promovê-la são os objetivos deste artigo. Revise e divirta-se!

Conceito

Refatoração não é uma nova técnica e não foi inventada para o Visual Studio 2005. É muito provável que você utilize-a no dia a dia, embora, talvez não a chamando pelo seu nome formal. Refatoração, do termo refactoring, é formalmente o processo de reescrever código para promover seu entendimento e legibilidade, mantendo inalterados seu comportamento ou uso externo.

Você está aplicando refatoração quando, por exemplo, muda o nome de uma variável para taxaConversaoReal ao invés de tCR, quando troca um valor “hardcoded” por uma enumeração e quando, ao invés de repetir a mesma parte de um código em dois métodos diferentes, o centraliza em um e torna os dois primeiros clientes dele.

Observe que, nestes três exemplos o comportamento externo do software em si não foi modificado, somente sua estrutura interna, tornando-o mais compreensível e claro. O objetivo da refatoração não é adicionar novas funcionalidades ao software ou corrigir bugs, embora a aplicação da refatoração torne muito mais fácil detectá-los, pois eles vão se tornar mais visíveis.

Dependendo do tamanho da empresa em que você trabalha e do grau de maturidade do software que ela produz, você deve estar acostumado a desenvolver código seguindo uma padronização definida. Na maioria dos casos essa padronização surge conforme o tempo, o que significa que existe código não-padronizado e já padronizado.

A refatoração, ou seja, a revisão e alteração de código pré-existente são úteis nesse contexto, porque ajudam a padronizar o código antigo. Código padronizado, por sua vez, aumenta a legibilidade e promove maior rapidez e produtividade no desenvolvimento.

Outro aspecto importante sobre refatoração é que refatorar código não significa modificar um grande trecho de código de uma só vez, mas sim realizar pequenas mudanças em pequenos trechos. É a soma das pequenas alterações que melhora significativamente o código.

Cada alteração no código, também chamado transformação de código, obedece a um padrão conhecido e possui um nome. Voltando aos exemplos citados anteriormente, renomear uma variável é aplicar o padrão Rename, substituir um valor hardcoded por uma enumeração é aplicar o padrão Substituir Número Mágico Por Constante Simbólica e finalmente, recortar um pedaço de código e usá-lo para criar um método novo é aplicar o padrão Extract  Method.

Martin Fowler, autoridade no assunto, escreveu o livro Refatoração: Aperfeiçoando o Projeto de Código Existente (Editora Bookman, ISBN 8536303956) que descreve quase cem padrões de refatoração. Ele também é autor do site www.refactoring.com onde você pode encontrar artigos e descrições para todos os padrões de refatoração.

Conforme a explicação anterior, refatoração não é uma técnica nova ou inventada para o Visual Studio 2005. Contudo, os recursos para refatoração antes do Visual Studio 2005 resumiam-se, principalmente, em ações de copiar-colar e recortar-colar e não havia nenhum outro tipo de suporte para facilitar a tarefa.

Felizmente, o Visual Studio 2005 traz novas funcionalidades criadas para facilitar a refatoração e diminuir os problemas gerados na época em que essa tarefa era realizada sem recursos (copiar-colar e recortar-colar, acredite, contribui mais para difundir problemas do que resolvê-los).

Nas próximas seções demonstraremos as novas funcionalidades entregues pelo Visual Studio 2005 para facilitar a tarefa de refatoração.

Suporte à refatoração no Visual Studio 2005

O Visual Studio 2005 suporta sete dos mais comuns padrões de refatoração, utilizados em um prático menu de contexto chamado Refactor e que você pode acessar com um clique do mouse.

Considere isso em conjunto com a possibilidade de alterar referências em múltiplos projetos e você terá uma idéia de quão útil e fácil de usar eles podem ser. A Figura 1 exibe o novo menu de contexto Refactor.

 

image004.jpg

Figura 1. Menu de contexto Refactor

Mencionamos também que a refatoração é uma tarefa arriscada se não for feita com cuidado e evitando que grandes trechos de código sejam alterados de uma única vez. O Visual Studio 2005 auxilia a garantir que as alterações estão corretas, apresentando uma janela de preview para que você possa visualizar todas as alterações a serem realizadas e decidir se deve efetivá-las ou não. A Figura 2 exibe a janela de preview.

"



ATENÇÃO! A exibição deste artigo foi interrompida.


  Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da .net Magazine DIGITAL ou para quem possui Créditos DevMedia.  Clique aqui para saber mais!






    0 COMENTÁRIO

[Fechar]

Este post é fechado - você precisa ter acesso ao post para incluir um comentário.


Nenhum comentário foi postado - seja o primeiro a comentar!



Publicidade
Autor
Equipe Devmedia

Noticias/Dicas/Artigos publicados.




Space do autor
Estatísticas
Favorito:
Comentários:
Feedback:
Utilidade:
0   0
[Fechar]

Você precisa estar logado para dar um feedback.

Clique aqui para efetuar o login
[Fechar]


Este post está fechado. Saiba mais sobre a assinatura MVP!
web-03
DevMedia  |  Anuncie  |  Fale conosco
Hospedagem web por Porta 80 Web Hosting
2012 - Todos os Direitos Reservados a web-03