Presentación Seminario Wormhole- Seminario Educación Digital- Noviembre 2012
Seminario Refatoracao
Click here to load reader
-
Upload
camilo-lopes -
Category
Documents
-
view
652 -
download
0
description
Transcript of Seminario Refatoracao
![Page 2: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/2.jpg)
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.
![Page 3: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/3.jpg)
3
TEMPO x 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)
TempoGasto
![Page 4: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/4.jpg)
4
CUSTOS x 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)
CustosGastos
![Page 5: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/5.jpg)
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).
![Page 6: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/6.jpg)
6
DEFINIÇÃO REFATORAÇÃO
Refatoração é o processo de reestruturar o sistema sem alterar suas funcionalidades.
(Fowler,2004).
![Page 7: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/7.jpg)
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
![Page 8: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/8.jpg)
8
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.
VANTAGENS
![Page 9: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/9.jpg)
9
Quando Refatorar ?Segundo Fowler (2004):
a) Código Duplicado;
b) Método Longo;
c) Comentários supérfulos; d) Comandos switch
![Page 10: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/10.jpg)
10
Ferramentasa) 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.
![Page 11: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/11.jpg)
11
Resultadosa) 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
![Page 12: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/12.jpg)
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.}
![Page 13: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/13.jpg)
13
Código Refatorado
MECÂNICAdeclare 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.
static final double CONSTANTE_GRAVTACIONAL = 9.81;double energiaPotencial(double massa, double altura){ return massa * CONSTANTE_GRAVTACIONAL * altura;5.}
![Page 14: Seminario Refatoracao](https://reader038.fdocuments.net/reader038/viewer/2022100517/55799a7ad8b42ae72b8b5269/html5/thumbnails/14.jpg)
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