Don't Feed The Zombies!
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Don't Feed The Zombies!

on

  • 292 views

Don't feed the zombies!

Don't feed the zombies!

How to maintain zombie projects in the land of the walking dead.

A brief talk about how to build "quality software" and save zombie projects.

Statistics

Views

Total Views
292
Views on SlideShare
289
Embed Views
3

Actions

Likes
0
Downloads
0
Comments
0

2 Embeds 3

http://www.linkedin.com 2
https://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Don't Feed The Zombies! Presentation Transcript

  • 1. DON’T FEED THE ZOMBIES! Ernesto Tagwerker @etagwerker
  • 2. MEET THE ZOMBIES
  • 3. ¿Cuántos zombies conocés?
  • 4. Nuestro mundo está lleno de zombies
  • 5. ERNESTO TAGWERKER Co-Founder @ Ombu Labs
  • 6. 1. Construimos 2. Construimos PMVs 3. Mantenemos zombies
  • 7. Mantenibilidad no es algo sexy
  • 8. Node.js, Clojure, Scala, etc. No es
  • 9. Aún así es más importante
  • 10. ¿Qué es la calidad?
  • 11. “Que cumpla con los requerimientos”
  • 12. Calidad (ISO 9126) • Funcionalidad • Confiabilidad • Usabilidad • Eficiencia • Mantenibilidad • Portabilidad
  • 13. 1. Funcionalidad ISO 9126
  • 14. 2. Confiabilidad ISO 9126
  • 15. 3. Usabilidad ISO 9126
  • 16. 4. Eficiencia ISO 9126
  • 17. 5. Mantenibilidad ISO 9126
  • 18. 6. Portabilidad ISO 9126
  • 19. Cómo construir software mantenible
  • 20. Paradigmas de programación
  • 21. Diseño orientado a objetos
  • 22. Patrones de diseño
  • 23. TDD is not dead
  • 24. Testing
  • 25. Experiencia
  • 26. Un problema real
  • 27. Tu próximo proyecto
  • 28. “Si igual yo no lo voy a mantener”
  • 29. Deuda técnica Decisiones pobres
  • 30. Menos tests Deuda técnica
  • 31. Menos mantenible Menos tests
  • 32. 0 tests
  • 33. “El código tiene calidad”
  • 34. Alternativas
  • 35. “Mata a ese zombie”
  • 36. “Noooooooo”
  • 37. Mantener o no mantener
  • 38. Culpa del otro desarrollador
  • 39. The sleepless developer
  • 40. Cómo convivir con un zombie
  • 41. Crear tests de integración
  • 42. describe 'the homepage' do it 'should not explode' do visit '/home' expect(page).to have_content 'Welcome!' end end
  • 43. Configurar integración continua
  • 44. • Travis CI • Circle CI • TDDium (Solano Labs) • Codeship
  • 45. Run flog
  • 46. ombushop$ flog -g .! 24226.6: flog total! 9.7: flog/method average! ! 2511.0: Admin total! 87.7: Admin::TaxonsController#update_before ./ app/controllers/admin/taxons_controller.rb:59! 79.1: Admin::ApplicationHelper#show_wizard? ./ app/helpers/admin/application_helper.rb:114! 60.3: Admin::VariantsController#create ./app/ controllers/admin/variants_controller.rb:92! 48.7: Admin::OrdersController#update ./app/ controllers/admin/orders_controller.rb:24! ...!
  • 47. dinero_mail_ipn$ flog -g .! 584.9: flog total! 8.0: flog/method average! ! 189.1: TestDineroMailIpn total! 62.7: TestDineroMailIpn::context(when I query the Dinero Mail API via GET)::should#return OK with 1 payment ./test/test_dinero_mail_ipn.rb:20! 62.7: TestDineroMailIpn::context(when I query the Dinero Mail API via GET)::should#return OK with 2 payments ./test/test_dinero_mail_ipn.rb:43! 19.2: TestDineroMailIpn::context(when I query the Dinero Mail API via GET)::should#return Error for the query ./test/test_dinero_mail_ipn.rb:66!
  • 48. Code Climate
  • 49. Divide and conquer
  • 50. OmbuShop
  • 51. OmbuShop Admin Core Jobs Ayuda Router API
  • 52. CSS
  • 53. CSS utilities quarks atoms molecules pages
  • 54. CSS Utilities • _clearfix.scss • _reset.scss • _grid.scss • _mixins_ombu.scss
  • 55. CSS Quarks • _lists.scss • _paragraphs.scss • _tables.scss
  • 56. CSS Atoms • _errors.scss • _buttons.scss • _forms.scss
  • 57. CSS Molecules • _marketing_footer.scss • _navbar.scss • _dialog.scss
  • 58. CSS Pages • _marketing_jobs.scss • _marketing_partners.scss • _admin_products.scss
  • 59. Conclusión
  • 60. Further Reading • http://12factor.net/ • http://en.wikipedia.org/wiki/ISO/IEC_9126 • http://blog.codeclimate.com/blog/2013/08/07/deciphering-ruby-code-metrics/ • http://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/ dp/0201633612 • http://www.amazon.com/Extreme-Programming-Explained-Embrace-Edition/ dp/0321278658 • http://www.smashingmagazine.com/2013/08/02/other-interface-atomic- design-sass/
  • 61. ¡Gracias! Ernesto Tagwerker @etagwerker