Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Refactorización (EN ESPANOL)

1,027 views

Published on

Published in: Technology
  • Be the first to comment

Refactorización (EN ESPANOL)

  1. 1. Rodrigo Branas – @rodrigobranas - http://www.agilecode.com.br/es Principios de la Refactorización
  2. 2. http://www.slideshare.net/rodrigobranas
  3. 3. Rodrigo Branas rodrigo.branas@agilecode.com.br http://www.agilecode.com.br • • • • Desarrollo de Software en Gennera Entrenamientos en Agile Code Artículos en Java Magazine Conferencias sobre desarrollo de software en eventos, universidades y empresas
  4. 4. Formación Académica Ciencias de la Computación - UFSC Gestión de Proyectos - FGV Certificaciones SCJA, SCJP, SCJD, SCWCD, SCBCD, PMP, MCP e CSM Experiencia Desde hace más de 12 años desarrollando software en la plataforma Java en las empresas: EDS, HP, NET, Citibank, GM, Dígitro, Softplan, OnCast, Senai, VALE, RBS, Unimed, Globalcode, V.Office, Suntech, WPlex e Gennera.
  5. 5. ¿Que es Refactoring?
  6. 6. “Modificación hecha en la estructura interna del software para mejorar su comprensión y abaratar el costo de mantenimiento sin alterar su comportamiento externo.” (Martin Fowler)
  7. 7. “Refactorización es la arte de evolucionar el design del código.” (William C. Wake)
  8. 8. “Refactorización es una manera de mantener el software sostenible y competitivo a lo largo del tiempo.”
  9. 9. Refactorización es una inversión
  10. 10. Ahorro proporcional
  11. 11. Lamentablemente, lo contrario es verdadero
  12. 12. Como negociar actividades de refactorización con su gerente?
  13. 13. Charla entre el Desarrollador y su Gerente Desarrollador: Rodrigo, necesito hacer una refactorización en el código! Gerente: ¿Refactorización? ¿Que es eso, tu vás a melhorar la performance? Desenvolvedor: No, no... Gerente: ¿Vás a dejar la interfaz más bonita y más fácil de usar? Desenvolvedor: No... Gerente: ¿Qué vas a hacer? Desenvolvedor: “Haré una modificación en la estructura interna del software para mejorar su comprensión y abaratar el costo de mantenimiento sin alterar su comportamiento externo.” (Martin Fowler) Gerente: No.
  14. 14. Refactorize con un propósito
  15. 15. Esté atento a las oportunidades
  16. 16. Refactore a la hora de anãdir nuevas funcionalidades
  17. 17. Refactore cuando for arreglar un defecto
  18. 18. Refactore cuando precisar comprender el código
  19. 19. Los 7 enemigos de la refactorización
  20. 20. Desconocimiento
  21. 21. No se dar cuenta de lo problema es una de las causas principales. Es normal ver desarrolladores experientes que no dan atención a la calidad del código.
  22. 22. Inmediatismo
  23. 23. Pensar solo en resolver los problemas, sin considerar que la naturaleza del desarrollo de software es el cambio.
  24. 24. Ventanas Rotas
  25. 25. Tenemos dificuldades en tratar com las ventanas rotas. Sea en nuestra dieta, en nuestro matrimonio y en el desarrollo de software, el desánimo de las ventanas rotas pueden llevar al fracaso.
  26. 26. Trabajo en Equipo
  27. 27. Es fácil culpar el pasante. El equipo debe mantener el código en orden y con calidad.
  28. 28. Gestión
  29. 29. Normalmente, sea por el desconocimiento o por la presión comercial, la refactorización tiende a ser evitada por la dirección.
  30. 30. Pruebas Automatizadas
  31. 31. La falta de automatización de pruebas torna el desarrollo más inseguro y la refactorización puede plantear problemas.
  32. 32. ¿Cuando no debemos refactorizar?
  33. 33. Cerca del plazo de entrega
  34. 34. La mayoría de empresas necesitan contraer deudas para mantenerse en el mercado
  35. 35. Cuidado, los interés son muy altos!
  36. 36. Desafios de la refactorización

×