Seminario Refatoracao

15

Click here to load reader

description

apresentacao sobre refatoração em portugues.

Transcript of Seminario Refatoracao

Page 1: Seminario Refatoracao

REFATORAÇÃOhttp://www.refactoring.com

CAMILO LOPES

Page 2: Seminario Refatoracao

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

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

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

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

6

DEFINIÇÃO REFATORAÇÃO

Refatoração é o processo de reestruturar o sistema sem alterar suas funcionalidades.

(Fowler,2004).

Page 7: Seminario Refatoracao

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

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

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

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

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

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

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

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

Page 15: Seminario Refatoracao

15

DUVIDAS? CONTATO: [email protected] http://camilolopes.wordpress.com

OBRIGADO!