Test Driven Development - Trabalhe tranquilo e maximize sua produtividade

  • View
    799

  • Download
    0

Embed Size (px)

DESCRIPTION

 

Text of Test Driven Development - Trabalhe tranquilo e maximize sua produtividade

  • 1. globo Test Driven Development .com Trabalhe tranquilo e maximize sua produtividadeFriday, December 9, 2011
  • 2. Sobre Mim Flvio Ribeiro Graduado em Engenharia Eltrica pelo IFPB Engenheiro de Software na Globo.com @avioribeiroFriday, December 9, 2011
  • 3. Sobre a Palestra Vamos falar de ...Friday, December 9, 2011
  • 4. Problemas ReaisFriday, December 9, 2011
  • 5. Entregas Cclicas continous deliveryFriday, December 9, 2011
  • 6. Modelagem designFriday, December 9, 2011
  • 7. Profissionalismo?Friday, December 9, 2011
  • 8. Test Driven DevelopmentFriday, December 9, 2011
  • 9. Friday, December 9, 2011
  • 10. Friday, December 9, 2011
  • 11. Antes de Comecar... TDD no ensinado, TDD praticado! Na fase de treinamento importante seguir as regras. Baby Steps.Friday, December 9, 2011
  • 12. Modelagem/TestedesignFriday, December 9, 2011
  • 13. Modelagem / Teste Seja cliente do cdigo que ir escrever O que eu vou entregar e o que eu quero de volta? Escreva um teste com o design concebidoFriday, December 9, 2011
  • 14. Escreva o cdigoFriday, December 9, 2011
  • 15. Escreva o cdigo Gaste um tempo pensando no seu problema, planeje at ter uma soluo limpa e elegante. Mantenha o foco. O target fazer o teste passar. Faa o teste passar.Friday, December 9, 2011
  • 16. RefatorarFriday, December 9, 2011
  • 17. Refatorar Use nomes que faam sentido. Aplique otimizaes. Pair Programming Honre seu nome, o git blame pode te entregar. Qualquer um escreve cdigo que computadores entendem. Bons programadores escrevem cdigo que humanos podem entender. - Martin FowlerFriday, December 9, 2011
  • 18. Quando refatorar? Cdigo duplicado Mtodos longos Classes grandes (o famoso sacolo) Muitos parmetrosFriday, December 9, 2011
  • 19. Quando refatorar? .. do Zen of Python (Tim Peters) Beautiful is better than ugly. Simple is better than complex. Sparse is better than dense. Readability counts.Friday, December 9, 2011
  • 20. Talk is cheap.. show me the code.Friday, December 9, 2011
  • 21. Friday, December 9, 2011
  • 22. Placar de Boliche 10 frames, 2 arremessos cada 10 pinos Strike: Se o primeiro arremesso derrubar os 10 pinos Os dois prximos arremessos sero dobrados Spare: Derrubar todos os pinos com os 2 arremessos O prximo arremesso ser dobradoFriday, December 9, 2011
  • 23. Legal! Mas... pra que serve mesmo?Friday, December 9, 2011
  • 24. O Problema Bom Barato RpidoFriday, December 9, 2011
  • 25. TDD ajuda a equalizarFriday, December 9, 2011
  • 26. TDD ajuda a equalizar Testar mais barato que debugar. (Tempo = Dinheiro) Cdigo documentado pelos testes. Menos bugs em produo. Software mais consistente. Mude o que quiser com segurana. Trabalhe tranquilo. Entregas cclicas.Friday, December 9, 2011
  • 27. Entregas CclicasFriday, December 9, 2011
  • 28. Entregas Cclicas continuous delivery Feedback imediado. Pequenas entregas. Alertas sobre build. (verde/vermelho) Alinhamento de expectativas. Manuteno do escopo.Friday, December 9, 2011
  • 29. Ops, quebraram o build!Friday, December 9, 2011
  • 30. Ainda temos tempo? Mocks, stubs e fakes Outros testes Teste de IntregraoFriday, December 9, 2011
  • 31. Perguntas? @avioribeiroFriday, December 9, 2011
  • 32. Obrigado! ;) @avioribeiroFriday, December 9, 2011
  • 33. Links http://programmers.stackexchange.com/questions/93302/spending-too-much-time-debugging http://www.slideshare.net/Skud/test-driven-development-tutorial http://www.ime.usp.br/~pf/algoritmos/aulas/footnotes/epigraphs.html http://tonygodoy.blog.com/les/2010/12/macaco-pensativo.jpg http://python.org http://www.slideshare.net/redigon/refactoring-1658371 http://speakerdeck.com/u/tarsisazevedo/p/refactoring-comece-agora http://www.slideshare.net/osantana/tdd-com-python http://www.klauslaube.com.br/wp-content/uploads/2011/01/TestDrivenGameDevelopment.png http://speakerdeck.com/u/tarsisazevedo/p/refactoring-comece-agora http://www.ickr.com/photos/kalavinka/4617897952/sizes/o/in/photostream/ http://disciplinas.dcc.ufba.br/pub/MATB14/TDDComRuby/tdd-cycle.jpg http://designcipta.com/wp-content/uploads/2011/02/architect_2.jpg http://cdn02.cdnwp.celebuzz.com/wp-content/uploads/legacy/celebuzz/default/msg-127981724976-3.jpg http://markmail.org/message/jmvo3hedwp3zrcoo http://se.inf.ethz.ch/old/teaching/2010-S/0276/slides/pletikosa.pdf http://www.agile-itea.org/public/deliverables/ITEA-AGILE-D2.7_v1.0.pdf http://stackoverow.com/questions/787172/what-is-a-good-sample-class-to-demonstrate-tdd http://www.objectmentor.com/resources/articles/xpepisode.htm http://galeri.uludagsozluk.com/49/linus-torvalds_64902.jpg http://3.bp.blogspot.com/_Hep8dtfRKAg/TNgEf6kvmzI/AAAAAAAAABk/BTo3MqMFl1U/s1600/ bowling.jpg http://pt.wikipedia.org/wiki/BolicheFr