← JavaScript: el lenguaje

Sesión 16 · Semana 6

Reto acumulativo · un dominio desconocido

Hoy · Hoja de ruta

  1. 1. Aprende: Nada nuevo. Hoy se comprueba si lo anterior es tuyo.
  2. 2. Haz: Modela y consulta un dominio que no has visto antes.
  3. 3. Comprueba: Lo resuelves sin copiar de tu propio proyecto.

Antes de empezar · 5 minutos, sin apuntes

  1. Ante datos nuevos, ¿qué decides primero: la estructura o las funciones?
  2. ¿Qué preguntas se le hacen siempre a una colección?
  3. ¿Qué comprobaciones no pueden faltar?

El encargo

Recibirás un enunciado con un dominio distinto del tuyo —una biblioteca, un gimnasio, una liga deportiva, una clínica— descrito en prosa, con datos de ejemplo desordenados y unas cuantas preguntas que hay que poder responder.

El camino, que ya es el mismo de siempre
  1. Identificar las entidades y sus propiedades
  2. Modelarlas como array de objetos
  3. Escribir una función por pregunta
  4. Validar la entrada en el borde
  5. Comprobar con casos normales, límite y vacíos

Las condiciones

Sin copiar y pegar de tu proyecto

Puedes consultar tus apuntes y la documentación. Lo que no vale es duplicar tu catalogo.js y renombrar variables: la sesión sirve justamente para comprobar si sabrías escribirlo otra vez.

Las funciones deben cubrir, como mínimo: listar, buscar por texto, filtrar por un criterio numérico, ordenar por dos campos distintos, calcular un agregado y detectar un caso especial.

Entrega de la sesión

Un módulo con los datos, otro con las consultas, y un principal que responda por consola a las preguntas del enunciado. Con la lista vacía tratada.

Objetivo mínimoModelo correcto y cuatro de las seis consultas.
Si lo tienesLas seis, con validación y casos límite comprobados.
RetoAñade una consulta compuesta que no estuviera en el enunciado y justifica por qué es útil.

Checkpoint · fin de la sesión 16

  • Has modelado un dominio nuevo sin ayuda.
  • Cada pregunta tiene su función, y cada función devuelve.
  • Has elegido el método de array por lo que devuelve.
  • Has probado el caso vacío.