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.

Redescubre la programación - #MPWAR - #OpenDayLaSalle

688 views

Published on

Slides de la charla "Redescubre la programación - Code Smells, Refactorings, y cosa fina" para la jornada de puertas abiertas (OpenDay) del Máster en Programación Web de Alto Rendimiento (MPWAR) de LaSalle.

Introducción a los Code Smells y el Refactoring junto con una visión global de lo que ofrece el máster.

Published in: Software
  • Login to see the comments

  • Be the first to like this

Redescubre la programación - #MPWAR - #OpenDayLaSalle

  1. 1. Redescubre la programación Code Smells, Refactorings, y cosa fina @JavierCaneMPWAR - LaSalle OpenDay 2016
  2. 2. ¡Bienvenidos! Soy Javier Ferrer González
  3. 3. Contenidos ! Introducción Code Smells y Refactoring ! QWAN Cards Contest ! Más allá de los Code Smells ! MPWAR
  4. 4. 1. Introducción Code Smells y Refactoring Calidad de Software
  5. 5. Introducción Code Smells y Refactoring Calidad de Software Preguntas: !¿Existe el código bueno y el código malo? !¿Se puede medir objetivamente la calidad del Software?
  6. 6. Introducción Code Smells y Refactoring Calidad de Software Algunas respuestas: !Semántico (Ubiquitous Language) !Responsabilidades acotadas (SRP) !Tolerante a cambios (OCP) !No acoplado (DIP) !Baja complejidad accidental !Testeado
  7. 7. Code Smells
  8. 8. “ A code smell is a surface indication that usually corresponds to a deeper problem in the system. — Martin Fowler
  9. 9. 2. QWAN Cards Contest Gamificación!
  10. 10. QWAN Cards Contest ! Organización por grupos ! Yo tengo Code Smells ! Vosotros Refactorings ! Diré 1 Code Smell ! El grupo que diga 1 Refactoring a aplicar, gana un punto ! El grupo con más puntos, gana la partida ! Al decir un refactoring, hay que justificar el por qué ! ¡Hay premio!
  11. 11. ! ¡10 minutos! ! https://refactoring.guru/ ! https://sourcemaking.com/refactoring ! http://refactoring.com/ ! http://codely.tv/tag/refactoring/ ! QWAN Cards QWAN Cards Contest Fuentes de información
  12. 12. ! Long method (bloater) ◕ Refactorings: ◗ Extract method ◗ Decompose Conditional ◗ Replace Temp with Query ◗ Replace method with method object ◕ Debate: ¿Y si penalizamos rendimiento? QWAN Cards Contest Code Smells
  13. 13. ! Primitive Obsession (bloater) ◕ Refactorings: ◗ Replace Data Value with Object ◗ Replace Type Code with Class ◕ Debate: ¿Y si creamos demasiadas clases? QWAN Cards Contest Code Smells
  14. 14. ! Data Clumps (bloater) ◕ Refactorings: ◗ Preserve Whole Object ◗ Extract Class ◗ Introduce Parameter Object QWAN Cards Contest Code Smells
  15. 15. ! Switch statements (OO abuser) ◕ Refactorings: ◗ Replace Type Code with Subclasses ◗ Replace Type Code with State/Strategy ◗ Replace Conditional with Polymorphism ◗ Introduce Null Object QWAN Cards Contest Code Smells
  16. 16. ! Magic number (Change Preventer) ◕ Refactorings: ◗ Replace Magic Number with Symbolic Constant QWAN Cards Contest Code Smells
  17. 17. ! Comments (Dispensable) ◕ Refactorings: ◗ Extract method ◗ Extract Variable ◗ Introduce Assertion QWAN Cards Contest Code Smells
  18. 18. 3. Más allá de los Code Smells Cosa fina!
  19. 19. Más allá de los Code Smells Cosa fina ! SOLID ! Composition over Inheritance ! Tell don’t ask ! Arquitectura Hexagonal ! DDD ! TDD
  20. 20. Más allá de los Code Smells TDD
  21. 21. 4. MPWAR Visión global
  22. 22. MPWAR Visión Global Entorno HTML PHP JS FW DB DE
  23. 23. MPWAR Visión Global Entorno HTML PHP JS FW DB DE
  24. 24. MPWAR Visión Global Entorno HTML PHP JS FW DB DE Perf
  25. 25. MPWAR Visión Global Entorno HTML PHP JS FW DB DE Perf Emp SEO Seguridad
  26. 26. Contenidos/ Negocio MPWAR Visión Global Frontend Backend
  27. 27. 11 asignaturas Visión global dentro de especialidad web 1 TFM Lleva a la práctica todo lo aprendido +300 horas lectivas Profesores con experiencia profesional
  28. 28. ¿Preguntas? ¡Gracias! Contacto @JavierCane javier.mailserio@gmail.com Codely.TV
  29. 29. Credits ! Presentation template by SlidesCarnival

×