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

Conteúdo apagado Conteúdo adicionado
Xqbot (discussão | contribs)
m Bot: Adicionando: ar:إعادة هيكلة الكود; mudanças triviais
Etiqueta: Ligações internas removidas
Linha 1:
'''Refatoração''' (do inglês ''Refactoring'') é o processo de modificarredesenvolver um sistema de ''[[software]]'' para melhorar asua estrutura internaou dolegibilidade, [[Códigopreservando seu comportamento e por vezes adicionado novas funcionalidades. Na Engenharia de Software, o termo "refactoring" significa modificar o fonte|código]] fonte sem alterarmudar 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).
 
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.
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.
 
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.