A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Exemplos de Refactoring Alguns exemplos e considerações sobre Refactoring.

Apresentações semelhantes


Apresentação em tema: "Exemplos de Refactoring Alguns exemplos e considerações sobre Refactoring."— Transcrição da apresentação:

1 Exemplos de Refactoring Alguns exemplos e considerações sobre Refactoring

2 Sumário O que e é Refactoring Quando usar Quando não usar Custos Exemplos

3 Mas o que é Refactoring mesmo? Técnica sistemática para reestruturação interna de sistemas: – altera as estruturas internas sem modificar as estruturas externas do sistema – É constituído de pequenos passos (refatorações) que isoladamente mudam pouco, mas que em conjunto podem produzir reestruturação significativa. – Após uma refatoração o sistema deve estar em perfeito funcionamento, o risco de instabilidade crítica inserido pela reestruturação deve ser mínimo.

4 Quando devo usar Refactoring? Em XP Em outros processos de desenvolvimento Em sistemas legados

5 Quando devo usar Refactoring? Em XP Em outros processos de desenvolvimento ou seja, Refactoring é indispensável!

6 Quando não usar Refactoring Sistema muito ruim: talvez seja melhor refazer o sistema Prazo muito curto: melhor refatorar depois

7 Mas tudo tem um custo... Sólida estrutura de testes automatizados Atualização da documentação Atualização dos testes

8 Exemplos – Extract Method void printDebit(double amount) { printBanner(); // print details System.out.println(name:+ _name); System.out.println(amount + amount); } void printDebit(String name, double amount) { printBanner(); printDetails(amount); } void printDetails(double amount) { System.out.println(name:+ _name); System.out.println(amount + amount); }

9 Exemplos – Singleton public String getNomeCliente(int id){ try{ BancoDados banco = new BancoDados(); String nomeCliente = banco.getNomeCliente(); }catch(Exception e){//...tratamento de exceção} } public String getNomeCliente(int id){ try{ BancoDados banco = BancoDados.getInstance(); return banco.getNomeCliente(); }catch(Exception e){//...tratamento de exceção} }

10 Exemplos – Singleton (ii) public static BancoDados getInstance(){ return (bancoDados == null) ? new BancoDados() : bancoDados; } private BancoDados(){ //inicializa objeto //cria conexao, etc }

11 Exemplos – Chain Constructors

12 Exemplos – Chain Constructors (ii)

13 Por fim... Antipatterns renomear variáveis, indendação, também são refactoring AOP


Carregar ppt "Exemplos de Refactoring Alguns exemplos e considerações sobre Refactoring."

Apresentações semelhantes


Anúncios Google