Deuda técnica y refactorización de código
Clase 1 de 24 • Curso de Clean Code y Buenas Prácticas con JavaScript
Contenido del curso
Clase 1 de 24 • Curso de Clean Code y Buenas Prácticas con JavaScript
Contenido del curso
Carina Payleman
José Rodrigo Álvarez Herrera
Winslow Taylor Geldres Oliveros
Humberto Guardado
José Antonio Sterling Sánchez
Jose Gabriel Argüello
LEONARD CUENCA
Wladimir Rocha
Nayllen Rojas
Sharon Gizela Arana Mendoza
Jean Carlos Perez Vega
Sergio Brandon De Lucio Chavero
Ana Rotela Cabrera
Juan Ignacio Canales Meneses
Johann Segura Chacón
Alejandro Gomez Maldonado
Bryan Estiven Silva Mercado
Melisa Barrera
Eugenio Condori
José manuel Sanchez Juarez
Joan Alexander Valerio Rodríguez
María Mercedes Eizaga Oberto
Jovan Fernández
Reinaldo Mendoza
Estoy a full con las rutas y cursos de JS + el reto de #30díasdeJS, y estaba buscando justamente este tema!!! Platzi no decepciona con sus lanzamientos 💛💚
Definitivamente JS es lo que más completo tiene Platzi, desde front, backend, algoritmos, patrones de diseño, etc.
COMO TE FUEEEE ??? 👀
hOLA, somos Jose y Perla, casi de setenta años, entre los dos tenemos mas de 140 años de edad. Jeje.
Hemos aprobado 69 cursos, sobre temas que nos interesan, ya hicimos nuestro sitio web, aprendimos a usar ChatGPT, depuramos nuestro Python, conocimos otros lenguajes, hemos hecho nuestros primeros juegos educativos.... guau la lista no termina sobre lo que hemos aprendido en Platzi. Lo recomendamos.
wow que gran aporte sobre su trayecto en platzi. Es sorprendente como personas como ustedes han logrado esto.
Deuda tecnica y Refactorizacion de código
Nuuestro código debe ser simple y directo, debería leerse con la misma facilidad que un texto bien escrito.
Tipos de deuda técnica:
¿Cómo pagar las deudas?
Refactorizando el código, esto es mejorar el código sin alterar su comportamiento para que sea mas entendible y tolerante a cambios.Y es importante que el código tenga tests ( units o integration tests ) automáticos que validen el comportamiento del código.( Para no romperlo .... 🤣 )
¿Cuándo refactorizar?
Cuando hay código de baja calidad ( duplicación de código, funciones con mas de una acción) o se detecta cualquier otro tipo de code smell ( código duplicado, métodos o clases demasiado grandes y complejos, falta de cohesión entre diferentes partes del código, uso excesivo de condicionales y bucles anidados, por ej.)
Clase 1: Deuda técnica y refactorización de código
Notas
Grady Booch Entusiasta del diseño de patronesWard Cunningham -> coautores del maniesfiesto agilTipos de deuda técnica:
¿Cómo pagar las deudas?
¿Cuándo refactorizar?
El curso está buenisimo y solo es segundo video, He caído en deuda técnica, por falta de conocimientos habitualmente
Estoy igual y apenas iniciando el curso
Tipos de deuda técnica:
¿Cómo pagar las deudas? Refactorizando el código ¿Cuándo refactorizar? Cuando hay código de baja calidad o se detecta code smell
muy bueno !
Vamos por ese Senior Developer!!!
Que buen inicio del curso! Dejo mis apuntes
un buen complemento del curso seria el libro clean code de Robert C. Martín
No puedo creerlo, justo hoy estaba investigando al respecto, y salió este curso, es como si me leyeran la mente
Me ha pasado que veo condigo de hace un año y puedo ver que se puede optimizar, pero en ese momento no tenia las mismas skills que ahora voy adquiriendo con el tiempo
Creo que todos hemos pasado por los 4 tipos de deuda técnica 😂
Deuda técnica y refactorización de código
“Nuestro código tiene que ser simple y directo, debería de leerse con la misma facilidad que un texto bien escrito” -Grady Booch
Deuda Técnica
La Deuda Técnica hace referencia a los costos de un esfuerzo que se va a tener que hacer adicionalmente, porque se ha elegido un desarrollo sencillo y rápido, en lugar de utilizar un mejor enfoque que quizás tomaría más tiempo.
Es un esfuerzo extra que lo que va a hacer es como si se tuviera un crédito, ya que a futuro vamos a tener que pagar esa deuda, y esto lo que puede hacer es multiplicar el tiempo de desarrollo del proyecto inicial.
A la larga hace que el código sea difícil de mantener. Existen 4 tipos de deuda técnica:
1 - Imprudente y deliberada → El/ la desarrolladora actúa de forma consciente del factor de deuda que están dejando en el código.
2 - Imprudente e inadvertida → Dejar deuda técnica sin saberlo por falta de conocimiento.
3 - Prudente y deliberada → Se planea para obtener otro beneficio o seguir otra ruta y se tiene en cuenta que se tiene que pagar lo más pronto posible.
4 - Prudente e inadvertida → Cuando tenemos conocimiento en el código pero se puede realizar mejor con menos deuda.
Refactorizar → Es un proceso que tiene como objetivo mejorar el código de un proyecto sin alterar su comportamiento para que sea más entendible y tolerante a cambios.
Se refactoriza principalmente en dos momentos, siempre que existan test automáticos del código:
1 - Cuando el código sea de baja calidad(Código duplicado, cuando las funciones tienen más de una acción, etc.)
2 - Al detectar un code smell (indicadores superficiales de posibles problemas en el sistema)
La deuda técnica se paga mediante la refactorización del código, identificando y corrigiendo problemas como duplicación y la complejidad excesiva. Es crucial reconocer cuándo se incurre en deuda técnica y actuar para mantener un código limpio y mantenible, respaldado por pruebas automatizadas.
Si son proyectos legacy que no tiene pruebas unitarias y test pruebas de integración como entraría la factorización, ya que tampoco cuenta con la documentación del respectivo software.
Acabo de iniciar este curso. Excelente la explicación de Alex y muy claro como aplicar estos conceptos.
Excelente esta clase
Muy interesante el curso, son las cosas que uno debe aprender si o si cuando se desarrolla software; y creo que todos de alguna u otra forma hemos desarrollado con deudas técnicas de los 4 tipos.
Los tests y los comments que vienen de la revision de los PR de los desarrolladores senior ensenan un montón