Screencast - Refatoração na Prática

Posted by Alberto on January 14th, 2008

Preparem a pipoca!!

É com muita satisfação que apresento à vocês o primeiro screencast do Blog.

Este é o primeiro de muitos. A idéia é publicar uma série de vídeos com dicas sobre desenvolvimento de software.

Para iniciar a nossa série de screencast, apresento-lhes o primeiro: “Refatoração na Prática”, onde mostro como aplicar técnicas de refactoring com o auxíio de uma IDE.

PS: Não pensava que daria tanto trabalho. Para quem nunca mexeu com edição de vídeo até que está muito bom. Por isso, peço que aliviem o meu lado nos primeiros vídeos.. =D

Espero que gostem…

Link no YouTube: http://www.youtube.com/watch?v=WPF6qriM8wo

Link para Download: http://www.albertoleal.eti.br/Screencast/ScreenCast-Refatoracao_na_Pratica.avi

Refatoração - Parte II

Posted by Alberto on January 10th, 2008

Dando continuidade ao post anterior, veremos: bad smells, vantagens/desvantagens da utilização de refatoração ..

Read the rest of this entry »

Refatoração - Parte I

Posted by Alberto on January 9th, 2008

Foi durante a graduação que eu tive o primeiro contato com “Refactoring”. Este seria o tema do meu projeto de conclusão de curso(TCC). Então, comprei o livro do Martin Fowler e comecei a estudá-lo e escrever sobre o assunto. Tentarei falar um pouco sobre o assunto.

Caso o seu interesse seja aprofundar no assunto, aconselho a ler o livro citado acima. Agora, se você não tem idéia, ou tem vaga noção sobre o que é refatoração, onde e como aplicá-la, seria legal acompanhar os próximos posts..

É de praxe que desenvolvedores de sistema possuam a necessidade de fazer alterações em projetos que em andamento. Em muitos casos, essas alterações são realizadas sem qualquer formalismo, elevando, assim, o índice de complexidade do código-fonte do sistema. Código complexo, difícil de ser compreendido e modificado pode levar um projeto de software ao fracasso. Alterações mal executadas podem mudar totalmente o comportamento inicial de um sistema.

Neste contexto, a refatoração auxilia no aperfeiçoamento do código-fonte minimizando as chances de novas falhas serem introduzidas no projeto.

As técnicas de refatoração, quando utilizadas corretamente, aumentam consideravelmente o tempo de vida útil do software.

Seguindo como referência o livro do Fowler(2004), temos a seguinte definição:

A refatoração é um processo de alteração de código-fonte de um sistema de software de modo que o comportamento observável não mude, mas que sua estrutura interna seja aperfeiçoada. Em essência, quando se usa esse processo, tende-se a melhorar o código-fonte, mesmo após este já ter sido escrito.”

Você deve está se perguntando, “Mas, como eu vou ter certeza de que todo o meu sistema continuará funcionando perfeitamente, isto é, como garantir a integridade do comportamento observável do software?”. A resposta para a sua pergunta é: “Testes”.

Quando falo “Testes” não me refiro pedir ao estagiário que teste todo o software e veja se encontra algum comportamento estranho - após a refatoração, estou falando de “Testes Automatizados”.

Imagine se a cada técnica aplicada você tivesse que aguardar uma resposta do estagiário: “Ok Programador, pode continuar com suas refatorações”. Seu SW não ficaria pronto tão cedo!

A pré-condição essencial parar refatorar é a existência de testes sólidos!!! E, programadores profissionais escrevem testes!

 

No próximo post falaremos sobre “Bad Smells”, vantagens e desvantagens da refatoração, e, aplicaremos alguns técnicas com o auxílio de uma IDE (Eclipse).

 

Leia também: Improve It

 


Copyright © 2007 Alberto Leal. All rights reserved.