Seminario Refatoracao

789 views
738 views

Published on

apresentacao sobre refatoração em portugues.

1 Comment
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
789
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
17
Comments
1
Likes
0
Embeds 0
No embeds

No notes for slide

Seminario Refatoracao

  1. 1. REFATORAÇÃO http://www.refactoring.com CAMILO LOPES
  2. 2. OBJETIVO Auxiliar no desenvolvimento de sistemas orientados a objetos implementados na linguagem Java que possuem baixa reusabilidade de código, manutenção difícil e a adição ou adequação a novos requisitos demandar muito esforço do engenheiro de Software, programador, analista de sistemas pontos que podem gerar grande custo ao projeto. 2
  3. 3. TEMPO x GASTO Tempo Gasto Figura 1 Estima-se que cerca de 50% do tempo de um engenheiro de Software é gasto com tarefas de manutenção e compreensão de código Fonte: Maia (2004) 3
  4. 4. CUSTOS x GASTOS Custos Gastos Figura 2 ao longo das últimas três décadas mais de 60% dos custos de desenvolvimento de Software das organizações foram gastos com manutenção. Fonte: Maia (2004) 4
  5. 5. REFATORAÇÃO A refatoração ajuda a tornar o código mais legível e resolver problemas de códigos mal escritos (MAIA,2004). 5
  6. 6. DEFINIÇÃO REFATORAÇÃO Refatoração é o processo de reestruturar o sistema sem alterar suas funcionalidades. (Fowler,2004). 6
  7. 7. Motivos para usar a reforação a) melhorar o projeto do Software; b) ter um o Software mais fácil de entender a nível de código; c) programar mais rapidamente 7
  8. 8. VANTAGENS a) a técnica de refatoração pode ser aplicada no desenvolvimento e manutenção do Software; b) refatoração possibilita o acréscimo de nova funcionalidade de maneira fácil evitando a desestruturação do código; c) com o uso da refatoração gasta-se menor tempo possível na manutenção a nível de código, melhora a legibilidade e estrutura o código. 8
  9. 9. Quando Refatorar ? Segundo Fowler (2004): a) Código Duplicado; b) Método Longo; c) Comentários supérfulos; d) Comandos switch 9
  10. 10. Ferramentas a) XRefactoring:As linguagens compatíveis são C e Java essa ferramenta possibilita a geração de documentação no formato HTML. b) RefactorIT: É uma ferramenta para refatoração que pode integrada em várias IDEs. c) JFactor:É uma ferramenta que permite a aplicação automática da refatoração a programas em Java. 10
  11. 11. Resultados a) Facilita no processo de manutenção e desenvolvimento do Software b) Pode ser aplicada a qualquer linguagem orientada a objetos c) Torna o Software flexivel para adição de novas funcionalidades sem desestruração do código d) mantém o comportamento do Software 11
  12. 12. Exemplo SUBSTITUIR NÚMERO LITERAL POR CONSTANTES SIMBÓLICAS São números com valores especiais no sistemas  As vezes são usados em mais de um lugar  Dificultam a leitura e entendimento  double energiaPotencial(double massa, double altura{  return massa * 9.81 * altura; 3.} 12
  13. 13. Código Refatorado static final double CONSTANTE_GRAVTACIONAL = 9.81; double energiaPotencial(double massa, double altura){  return massa * CONSTANTE_GRAVTACIONAL * altura; 5.} MECÂNICA declare uma constante e atribua a ela o valor do número literal;  encontre aonde o número aparece;  veja se a mudança pode ser feita, caso positivo altere o número pela  constante; compile;  assim que os números literal forem substituídos, teste.  13
  14. 14. Referências MAIA, P. H. REFAX:Um arcabouço para desenvolvimento de  ferramamentas de refatoração baseado XML. Programa de Pós Graduação em Ciência da Computação . Ceará, Fortaleza: UFC, 2004. FOWLER, M. Refatoração Aperfeiçando o Projeto de Código  Existente (1ª Edição ed.). (A. Fernandes, Trad.) Porto Alegre - RS: Bookman,2004. Refactoring http://www.refactoring.com  14
  15. 15. DUVIDAS? CONTATO: camilosi@hotmail.com  http://camilolopes.wordpress.com  OBRIGADO! 15

×