Creación de Reporte de Evaluaciones por Asignatura en Programación OO
Clase 27 de 35 • Curso de C# con .Net Core 2.1
Resumen
¿Cómo se integra el diseño de un reporte de evaluaciones por asignatura?
En el ámbito de la programación orientada a objetos, buscamos optimizar cada paso para lograr funcionalidades más sofisticadas con el menor esfuerzo posible. Al diseñar un reporte que lista las evaluaciones por cada asignatura, se hace uso de una lista previamente desarrollada que agrupa las asignaturas. Este enfoque promueve la reutilización del código y mejora la eficiencia del proceso.
¿Cómo obtengo la lista de asignaturas y evaluaciones?
Para obtener la lista de asignaturas, se recurre a un método ya existente, getListaDeAsignaturas
. Sin embargo, al también necesitar las evaluaciones, se introduce una salida adicional en este método. Esto previene la duplicidad de operaciones, maximizando la eficiencia del código:
// Obtenemos la lista de asignaturas y la lista de evaluaciones
var listaAsignaturas = GetListaDeAsignaturas(out var listaEvaluaciones);
De esta forma, se evita realizar consultas idénticas repetidamente, reduciendo carga innecesaria en el sistema.
¿Cómo se asocian las evaluaciones a cada asignatura?
La clave radica en asociar las evaluaciones específicas a cada asignatura mediante un enfoque de filtrado. Utilizamos un bucle for each
para recorrer cada asignatura y aplicar un filtro sobre las evaluaciones que correspondan al nombre de la asignatura actual. Este método garantiza que cada asignatura tenga su conjunto de evaluaciones único y correctamente asociado.
foreach (var asignatura in listaAsignaturas)
{
// Filtramos las evaluaciones que corresponden a la asignatura actual
var evaluacionesPorAsignatura = listaEvaluaciones
.Where(evaluacion => evaluacion.Asignatura.Nombre == asignatura.Nombre)
.ToList();
// Añadimos estas evaluaciones al diccionario
listaDeAsignacionesPorAsignaturas[asignatura.Nombre] = evaluacionesPorAsignatura;
}
Este código asegura que el diccionario se construya correctamente, manteniendo la integridad de las relaciones entre asignaturas y evaluaciones.
¿Cómo realizar pruebas y corroboraciones en el sistema?
La verificación de la correcta implementación del sistema se lleva a cabo mediante la depuración y la ejecución del programa. Se examina el diccionario resultante para confirmar que todas las asignaturas y sus respectivas evaluaciones están correctamente listadas. Es relevante evaluar los resultados dentro del contexto del sistema, asegurándose de que cada materia presente las evaluaciones de los estudiantes relacionados.
Mejora del sistema: ¿Cómo calcular promedios de estudiantes?
El próximo paso en la creación de reportes implica calcular el promedio de cada estudiante en cada asignatura. Esto se logrará extendiendo la funcionalidad actual para proporcionar un análisis más detallado del rendimiento estudiantil en diversos contextos. La planificación de este nuevo reporte será fundamental en el desarrollo de nuestra clase siguiente, enfocándonos en técnicas que integren datos de manera precisa y eficiente.
La flexibilidad y extensibilidad del código son principios básicos en esta área de la programación, y aseguran que continuemos implementando soluciones efectivas y adaptables a las necesidades de los usuarios.