Codigo legado fisl

1,426 views
1,357 views

Published on

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

  • Be the first to like this

No Downloads
Views
Total views
1,426
On SlideShare
0
From Embeds
0
Number of Embeds
618
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Codigo legado fisl

  1. 1. Fazendo as pazes com CÓDIGO LEGADOquinta-feira, 30 de junho de 2011
  2. 2. ~ 12 anos de estrada ~ Desenvolvedor Senior da Globo.com ~ Apaixonado pelo que faço ...quinta-feira, 30 de junho de 2011
  3. 3. Guilherme Souza (não pode vir) ~ 4 anos de estrada ~ Desenvolvedor da Globo.com ~ Hacker por definição e apaixonado por tecnologiaquinta-feira, 30 de junho de 2011
  4. 4. quinta-feira, 30 de junho de 2011
  5. 5. quinta-feira, 30 de junho de 2011
  6. 6. NOTquinta-feira, 30 de junho de 2011
  7. 7. Made by Otherquinta-feira, 30 de junho de 2011
  8. 8. quinta-feira, 30 de junho de 2011
  9. 9. Cuidado você pode estar escrevendo código legado agora ...quinta-feira, 30 de junho de 2011
  10. 10. quinta-feira, 30 de junho de 2011
  11. 11. TESTEquinta-feira, 30 de junho de 2011
  12. 12. quinta-feira, 30 de junho de 2011
  13. 13. Clean Code is not ENOUGHquinta-feira, 30 de junho de 2011
  14. 14. quinta-feira, 30 de junho de 2011
  15. 15. Era uma vez ...quinta-feira, 30 de junho de 2011
  16. 16. E daí ?quinta-feira, 30 de junho de 2011
  17. 17. quinta-feira, 30 de junho de 2011
  18. 18. quinta-feira, 30 de junho de 2011
  19. 19. Era uma vez ...quinta-feira, 30 de junho de 2011
  20. 20. Refazer é caroquinta-feira, 30 de junho de 2011
  21. 21. Missão Ensinar técnicas e formas de pensar que facilitem e deixem a todos confiantes para mexer em qualquer base de códigoquinta-feira, 30 de junho de 2011
  22. 22. Era uma vez ...quinta-feira, 30 de junho de 2011
  23. 23. quinta-feira, 30 de junho de 2011
  24. 24. Caminho é longo ...quinta-feira, 30 de junho de 2011
  25. 25. Complexidade é alta ...quinta-feira, 30 de junho de 2011
  26. 26. Mas o prazo é o MESMOquinta-feira, 30 de junho de 2011
  27. 27. Por onde começar?quinta-feira, 30 de junho de 2011
  28. 28. Escolha suas batalhas e .. vença uma por vez ...quinta-feira, 30 de junho de 2011
  29. 29. Dependencia Aumentar Efeito cobertura de teste Colateralquinta-feira, 30 de junho de 2011
  30. 30. quinta-feira, 30 de junho de 2011
  31. 31. Identify Change Pointsquinta-feira, 30 de junho de 2011
  32. 32. Find Test Pointsquinta-feira, 30 de junho de 2011
  33. 33. Break Dependenciesquinta-feira, 30 de junho de 2011
  34. 34. Cover with testsquinta-feira, 30 de junho de 2011
  35. 35. Changequinta-feira, 30 de junho de 2011
  36. 36. Como eu faço isso ?quinta-feira, 30 de junho de 2011
  37. 37. example.rb Page 1 class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send end client.billing << Charging.new(200) account = client.bank_account account.charge end end endquinta-feira, 30 de junho de 2011
  38. 38. example.rb Page 1 class Example def send_welcome_msg clients = Client.get_all Quero colocar clients.each do |client| addresses = client.get_all_users aqui um audit body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send end client.billing << Charging.new(200) account = client.bank_account account.charge end end endquinta-feira, 30 de junho de 2011
  39. 39. Sprout Methodsquinta-feira, 30 de junho de 2011
  40. 40. Change Pointquinta-feira, 30 de junho de 2011
  41. 41. New Tested Method Change Pointquinta-feira, 30 de junho de 2011
  42. 42. example.rb Page 1 class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  43. 43. example.rb Page 1 class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  44. 44. example.rb Page 1 class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  45. 45. example.rb Page 1 class Example def send_welcome_msg clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new DO A sender.from= "aoqfonseca@gmail.com" ST sender.to= user.mail TE sender.body=body sender.send audit_send(user.mail, body) end client.billing << Charging.new(200) account = client.bank_account account.charge end end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  46. 46. Sprout Classesquinta-feira, 30 de junho de 2011
  47. 47. Change Pointquinta-feira, 30 de junho de 2011
  48. 48. New Tested Class Change Pointquinta-feira, 30 de junho de 2011
  49. 49. example.rb[+] Page 1 class Example def welcome clients = Client.get_all clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  50. 50. Wrap Methodsquinta-feira, 30 de junho de 2011
  51. 51. quinta-feira, 30 de junho de 2011
  52. 52. Change Pointquinta-feira, 30 de junho de 2011
  53. 53. Wrap Tested Method Change Pointquinta-feira, 30 de junho de 2011
  54. 54. example.rb[+] Page 1 class Example def old_welcome(clients) clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end def welcome clients= Client.get_all old_welcome clients Billing.charge(clients) end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  55. 55. example.rb[+] Page 1 class Example def old_welcome(clients) clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end def welcome clients= Client.get_all old_welcome clients Billing.charge(clients) end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  56. 56. example.rb[+] Page 1 class Example def old_welcome(clients) clients.each do |client| addresses = client.get_all_users body = << EOF Welcome to our system. Were very happy for your presence here. EOF addresses.each do |user| sender = MailSender.new sender.from= "aoqfonseca@gmail.com" sender.to= user.mail sender.body=body sender.send audit_send(user.mail, body) end end end def welcome clients= Client.get_all old_welcome clients Billing.charge(clients) end def audit_send(mail, body) audit = Audit.new audit.operations << SendMailOperatio.new(:to=> mail, :body => body, created_at = > Date.now) audit.save end endquinta-feira, 30 de junho de 2011
  57. 57. Wrap Classesquinta-feira, 30 de junho de 2011
  58. 58. quinta-feira, 30 de junho de 2011
  59. 59. Change Pointquinta-feira, 30 de junho de 2011
  60. 60. Wrap Tested Class Change Pointquinta-feira, 30 de junho de 2011
  61. 61. Acabou ? Era só isso?quinta-feira, 30 de junho de 2011
  62. 62. NEGATIVOquinta-feira, 30 de junho de 2011
  63. 63. Vamos ao refactoring ...quinta-feira, 30 de junho de 2011
  64. 64. ATENÇÃO Não vamos reinventar nada !quinta-feira, 30 de junho de 2011
  65. 65. SOLID SMELLS (Fowler) Patterns Refactoring Patternsquinta-feira, 30 de junho de 2011
  66. 66. Focoquinta-feira, 30 de junho de 2011
  67. 67. Bora codar um pouco ...quinta-feira, 30 de junho de 2011
  68. 68. Obrigado !!! @aoqfonseca aoqfonseca@gmail.com www.andrefonseca.netquinta-feira, 30 de junho de 2011

×