Refatoração: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
Etiqueta: Ligações internas removidas
Gunnex (discussão | contribs)
Desfeita a edição 22279194 de 186.204.216.238 (discussão | ) -WP:SPAM/VDA de http://www.astl.com.br/component/content/article/36-servicos/55-refactory
Linha 1:
'''Refatoração''' (do inglês ''Refactoring'') é o processo de redesenvolvermodificar um sistema de ''[[software]]'' para melhorar suaa estrutura ouinterna legibilidade,do preservando seu comportamento e por vezes adicionado novas funcionalidades. Na Engenharia de Software, o termo "refactoring" significa modificar o[[Código fonte|código fonte]] sem mudaralterar seu comportamento externo, e é, algumas vezes, informalmente referido como "cleaning it up".
 
Em nosso processo de “refactoring” reparamos erros encontrados no software além de adicionar novas funcionalidade ao sistema. Muitas empresas, por diversos motivos, entre eles, questões de cronograma e/ou falta de pessoal especializado, possuem sistemas sem documentação e com falhas no desenvolvimento, de forma que a manutenção de tais sistemas torna-se algo muito complexo, demorado e conseqüentemente oneroso para a corporação. Para resolver problemas deste tipo, a ASTL disponibiliza a técnica de refactoring (reconstrução).
O uso desta técnica aprimora a concepção (''design'') de um ''software'' e evita a deterioração tão comum durante o ciclo de vida de um código. Esta deterioração é geralmente causada por mudanças com objetivos de curto prazo ou por alterações realizadas sem a clara compreensão da concepção do sistema.
Durante o processo de reconstrução, profissionais com experiência na tecnologia em que o sistema foi desenvolvido, regidos por padrões de projeto, implementação e documentação, analisarão todo o código fonte do sistema e o implementarão, a ponto de torná-lo mais fácil de manter e expandir, sem alterar o comportamento do sistema, inclusive objetivando a melhoria de performance ou atualização tecnológica. Esse serviço contempla ainda a geração de documentação adequada a fim de que demais interessados compreendam mais facilmente as funcionalidades e regras de negócio implementadas pelo sistema.
 
Outra consequência é a melhora no entendimento do código, o que facilita a manutenção e evita a inclusão de [[defeito de software|defeitos]]. Esta melhora no entendimento vem da constante alteração do código com objetivo de facilitar a comunicação de motivações, intenções e objetivos por parte do programador.
 
É fundamental que o sistema de ''software'' possua testes automatizados para realizar refatoração. Desta forma, será possível garantir a que o comportamento externo não foi alterado.
 
O livro mais importante sobre refatoração é ''Refactoring: Improving the Design of Existing Code'' (ISBN 0-201-48567-2) de [[Martin Fowler]], onde são explicados os conceitos, motivações e uma série de refatorações descritas passo a passo.