Ejercicio00:00
¿Quieres un reto mayor?
Resuelve en 15:00
info
Importante: Para que se registre el resultado tienes que iniciar sesión.
Refactoriza: calificaciones de estudiante
Difícil200 pts·Refactorización
ruleRestricciones de Refactoring
- radio_button_uncheckedSin números mágicos de calificación
- radio_button_uncheckedSin variables de una sola letra
- radio_button_uncheckedDeclara constantes en UPPER_SNAKE_CASE
- radio_button_uncheckedExtrae al menos una función auxiliar
Enunciado
Contexto
Tienes una función que procesa las calificaciones de un estudiante y devuelve un objeto con su promedio, letra de calificación, si aprobó y cuántos puntos de bono recibe. El problema: toda la lógica vive en una sola función larga, con números mágicos por todas partes y variables de una letra.
Tu tarea
Refactoriza la función processStudentGrades para que:
- Elimines los números mágicos — extrae constantes como
PASSING_SCORE,GRADE_A_THRESHOLD, etc. - Renombres las variables — elimina letras sueltas y usa nombres que expresen intención
- Extraigas funciones auxiliares — al menos una función por responsabilidad: calcular promedio, determinar letra, calcular bono
Reglas del negocio
- El promedio se calcula sobre todos los puntajes (redondea a 1 decimal)
- Letra de calificación:
A(≥90),B(≥80),C(≥70),D(≥60),F(<60) - Aprobado si el promedio es ≥ 60
- Bono: si la materia es
"math"y el promedio ≥ 90 → +10 puntos; si la materia es"science"y el promedio ≥ 80 → +5 puntos; en cualquier otro caso → 0
Restriccionesexpand_more
- Dificultad: Difícil
- Completa todos los test cases para obtener los 200 puntos.
- No modificar la línea
exportal final del archivo. - Se recomienda evitar el uso de inteligencia artificial para que realmente tú practiques los ejercicios.
Puedes usar console.log() para depurar. Los resultados aparecen en la Consola de salida, no en el navegador.
Inicia sesión para reaccionar
Inicia sesión para reaccionar