Avanzar en nuestro proyecto leyendo código ajeno

Clase 25 de 39Curso de Fundamentos de JavaScript

Contenido del curso

Fundamentos Javascript

Funciones, Scope y Estructuras de Datos

Resumen

Leer código es una habilidad crítica para crecer en desarrollo de software. Aquí se muestra, paso a paso y con buena práctica, cómo entender un pull request real, realizar code review y aplicar conceptos de JavaScript como arrays, objetos y closures para evolucionar un sistema de notas hacia un store robusto y mantenible.

¿Por qué leer código acelera tu crecimiento en JavaScript?

Leer código propio, de otras personas o de la comunidad te permite comprender sistemas existentes y detectar errores antes de que rompan el programa. Además, promueve un aprendizaje acelerado al observar funciones, algoritmos y estilos de solución distintos.

¿Qué beneficios inmediatos obtienes?

  • Comprensión de sistemas existentes para dar mantenimiento con confianza.
  • Detección de errores y escenarios futuros que podrían fallar.
  • Aprendizaje acelerado de nuevas formas de resolver problemas.
  • Reutilización de patrones y funciones en proyectos futuros.

¿Cómo mejora la colaboración y las decisiones?

  • Colaboras mejor al entender mejoras ajenas y su alineación con tu trabajo.
  • Tomas decisiones informadas al entrar en el flujo del equipo.
  • Participas activamente en code reviews con comentarios y propuestas.

¿Qué buenas prácticas aporta el pull request del sistema de notas?

El pull request en GitHub reúne estándares que facilitan la lectura y revisión: descripción clara, autor asignado, code review solicitado y mensajes siguiendo conventional commits. Así puedes analizar qué cambió, dónde cambió y por qué.

¿Cómo está documentado con JS Docs?

  • Se documentan funciones con descripción breve, parámetros y valor de retorno.
  • Ejemplo de utilidad: extraer el título desde el contenido de una nota.
  • Otro caso: generar un resumen corto con parámetro opcional de longitud máxima.
  • Beneficio clave: antes de leer la implementación, ya entiendes propósito, entradas y salidas.

¿Qué estándares se siguieron en GitHub?

  • Uso de conventional commits para claridad del cambio.
  • Registro del autor y asignación a code review.
  • Identificación del cambio como nuevo feature.
  • Sección de cambios que lista funciones, implementaciones y difs.

¿Qué funciones y estructuras clave forman el store y el CRUD?

El proyecto evolucionó de funciones simples a una estructura con objetos, arrays y un store para manejar el estado mediante closures. Esto hace posible recordar notas en contexto y operar sobre ellas con seguridad y orden.

¿Cómo se crean y validan las notas?

  • Se crea un objeto de nota con contenido y un título opcional.
  • La función devuelve un objeto o nulo si hay error.
  • Propiedades de la nota: ID, contenido, title, absurd, fecha de creación, fecha de actualización y favorito.
  • Validaciones clave: ejemplo de nota vacía con mensaje claro.

¿Qué operaciones expone el store con closures?

  • Agregar una nota.
  • Obtener todas las notas.
  • Obtener por ID.
  • Actualizar una nota.
  • Eliminar una nota.
  • Buscar en notas.
  • Ordenar notas.
  • Listar favoritas.
  • Obtener el count de notas.
  • Todas estas funciones se retornan desde el store para usarlas cuando se necesiten.

¿Qué demuestran las pruebas en consola?

  • Creación del store y estado inicial vacío.
  • Inserción de notas con estructura más robusta.
  • Validación de contenido vacío con error explícito.
  • Obtención de todas las notas y conteo.
  • Búsqueda por ID y actualización.
  • Marcado como favorita y búsqueda en contenido.
  • Orden por fecha y listado de favoritas.
  • Eliminación de notas y verificación del estado.
  • Uso del closure como base del store para mantener el estado.

Si algo te llama la atención, comparte tus comentarios y propuestas en el pull request: la lectura de código y el code review fortalecen el aprendizaje en comunidad y elevan la calidad del sistema de notas en JavaScript.