TDD e Clean Code

582 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
582
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

TDD e Clean Code

  1. 1. Maurício Andreazza Sganderla• Desenvolvedor na uMov.me• Aficionado por Agile• No mercado de T.I. há 8 anos• Formado em Sistemas de InformaçãoJorge Oleques• Desenvolvedor na GetNet• Entusiasta XP• No mercado de T.I. há 6 anos• Formado Analise e Desenvolvimento• Pós-Graduando em Eng Software na FGV
  2. 2. TDDTest Driven Development
  3. 3. Criador
  4. 4. “Comece pelos testes...”
  5. 5. Todo palestrante fala isso!
  6. 6. Mas como assim pelos testes?
  7. 7. Critérios e User story são seus aliados
  8. 8. Mapa do Tesouro
  9. 9. Lembre-se
  10. 10. Entenda o critério
  11. 11. Faça falhar !
  12. 12. Resolva de forma simples !
  13. 13. Escute seu teste
  14. 14. Refatore
  15. 15. Reinicie o ciclo
  16. 16. • Acabou ! Acabou !• Foto do galvãoAcabou, acabou !
  17. 17. Evolua seu design
  18. 18. E sem medo
  19. 19. Pois você está protegido
  20. 20. Tenha seu cinto de ferramentas
  21. 21. Meu cinto de ferramentas
  22. 22. Atinja o objetivo
  23. 23. Clean Code
  24. 24. O cara
  25. 25. Por que Clean Code
  26. 26. Lendo Código
  27. 27. Bagunça
  28. 28. Insatisfação com a bagunça
  29. 29. Insatisfação com o teu código
  30. 30. Medo
  31. 31. Impotência
  32. 32. O que ou Como fazer?
  33. 33. Nada, que se foda não foi eu quem fezhahahahahahahahhahahaha
  34. 34. Profissional
  35. 35. O que ou Como fazer?
  36. 36. Iniciar certo
  37. 37. Baby Step
  38. 38. Como fazer?
  39. 39. Com clean code? Mas o que é Clean code?
  40. 40. Fazer com cuidado
  41. 41. Revelar intenção
  42. 42. Fácil de entender
  43. 43. Satisfação
  44. 44. Simplicidade
  45. 45. Simplicidade
  46. 46. "Qualquer idiota é capaz de escrever código que um computador possa entender. Bons programadores escrevem código que seres humanos podem entender”(Martin Fowler)
  47. 47. Benefícios
  48. 48. Refatoração
  49. 49. Manutenção
  50. 50. Custo
  51. 51. Mito
  52. 52. Diminuir BUGs
  53. 53. Exemplos
  54. 54. // valor salarioprivate BigDecimal vl;// total da comprapublic BigDecimal s1;// descricao do produtopublic void desc;
  55. 55. private BigDecimal valorSalario;public BigDecimal totalCompra;public void descricaoProduto;
  56. 56. private BigDecimal valorSalario;public BigDecimal totalCompra;public void descricaoProduto;
  57. 57. // calcular imposto de rendapublic void calcular();// total a pagar para funcionáriospublic BigDecimal total();// gerar relatório dos beneficiospublic void gerar();
  58. 58. public void calcularImpostoDeRenda();public BigDecimal totalPagarFuncionarios();public void gerarRelatoriosBeneficios();
  59. 59. public void calcularImpostoDeRenda();public BigDecimal totalPagarFuncionarios();public void gerarRelatoriosBeneficios();
  60. 60. //calcular frete da entregapublic void calcular(){ // menor que 2100 km não possui frete if(this.distancia < 2100 ){ this.taxa = this.valorCompra * 0; } else{ this.taxa = this. valorCompra * 0.03; }}
  61. 61. public void calcularFreteDaEntrega(){ // menor que 2100 km não possui frete if(this.distancia < 2100 ){ this.taxa = this.valorCompra * 0; } else{ this.taxa = this. valorCompra * 0.03; }}
  62. 62. public void calcularFreteDaEntrega(){ // menor que 2100 km não possui frete if(this.distancia < 2100 ){ this.taxa = this.valorCompra * 0; } else{ this.taxa = this. valorCompra * 0.03; }}private boolean naoTemFrete(){ return this.distancia < 2100;}
  63. 63. public void calcularFreteDaEntrega(){ if(naoTemFrete()){ this.taxa = this.valorCompra * 0; } else{ this.taxa = this. valorCompra * 0.03; }}private boolean naoTemFrete(){ return this.distancia < 2100;}
  64. 64. public void calcularFreteDaEntrega(){ this.taxa = 0; if(temFrete()) this.taxa = this. valorCompra * PERCENTUAL_CALCULO;}private boolean temFrete(){ return this.distancia > DISTANCIA_MINIMA;}
  65. 65. Maurício Andreazza Sganderla @m_andreazza /mauricio.webdev /mauricioweb Jorge Oleques @jorgeoleques /joleques /joleques

×