You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(Esta lista es para el mentor. Hasta que no estén chequeados estos elementos no se procederá a la evaluación en persona.)
Básicos
El repositorio indicado existe y tiene un Readme.md no vacío.
Los miembros del equipo tienen un usuario de Github válido.
El proyecto puede ser ejecutado siguiendo las instrucciones del Readme.md.
El reporte existe y tiene la longitud adecuada.
Funcionalidades
El proyecto permite configurar al menos 5 elementos relevantes de la mecánica del dominó.
El proyecto contiene 2 implementaciones diferentes de cada elemento configurable.
El proyecto permite personalizar las estrategias de los jugadores virtuales.
El proyecto contiene al menos 3 implementaciones diferentes de jugadores virtuales.
Ingeniería de Software
Las estrategias de jugadores virtuales pueden combinarse con cualquier configuración del juego de forma transparente.
La interfaz gráfica permite configurar el juego en toda la extensión que brinda la lógica.
Las jerarquías de clases y demás abstracciones existentes son adecuadas para modelar el dominio.
El código muestra una organización y estructura mantenible y extensible, respetando las buenas prácticas de la ingeniería de software.
Documentación
El reporte técnico explica de forma suficientemente detallada los pormenores del proyecto.
Los nombres de clases, métodos y variables son descriptivos.
Los comentarios son legibles y útiles para entender el funcionamiento del código.
Revisión
Fecha prevista: 2020/XX/XX
Comentarios
Anotaciones que deben ser arregladas para aceptar el proyecto
Implementar una interfaz ICloneable<T> para implementar un unico método de Clone y luego implementar un método extensor sobre IEnumerable<T> where T : ICloneable<T> para clonar directo una colección.
Utilizar un enum para la Posición en la clase Jugada.
Utilizar inglés en el nombre de las variables, métodos y clases (es decir, en general en todos los identificadores).
Utilizar PascalCase para los métodos, clases, campos y propiedades; y camelCase para las variables y los parámetros.
¿Qué pase si HigherWin y LowerWin son seleccionadas?
Utilizar IEnumerables<T> donde se pueda y donde sea necesario si o si una lista utilizar IList<T>.
Separar las clases e interfaces que no dependen de un tipo de implementación concreta de cierta característica en una carpeta llamada talvez Core y luego en otra carpeta separada por carpetas según la característica las implementaciones concretas de esa característica.
Utilizar más Linq para programar de una forma más declarativa.
A no ser casos raros es recomendable tener una clase, interfaz, enum, etc por archivo.
El proyecto tiene una buena calidad con el nivel de abstracción necesario para representar el dominio.
Un punto negativo es que hay una alta dependencia de la plataforma Console especificamente impidiendo una fácil transición hacia otra plataforma como pudiera ser la Web.
Debido en gran parte al punto anterior el flujo del juego está manejado por la plataforma Console dentro de la propia implementación en vez de delegar la resposabilidad al que usa la biblioteca por ejemplo creando un iterador de jugadas o acciones que pasan durante el juego y que la parte de la presentación decida cómo consumir ese iterador.
The text was updated successfully, but these errors were encountered:
AlejandroSolar
changed the title
Proyecto de Nombre y Nombre
Proyecto de Alejandro Solar y Luis Alejandro Rodriguez
Jul 16, 2022
leynier
added
Listo para exponer
Cuando estén todos los checkbox marcados y la fecha de exposición esté conveniada
Listo para evaluar
Cuando se haya hecho la exposición y el mentor haya dado las conclusiones finales en el issue
labels
Sep 3, 2022
leynier
added
Aprobado
Cuando se de la evaluación final por el colectivo de la asignatura
and removed
Listo para evaluar
Cuando se haya hecho la exposición y el mentor haya dado las conclusiones finales en el issue
labels
Sep 15, 2022
Modifique las líneas siguientes con los detalles relevantes:
Equipo
Proyecto
Checklist
(Esta lista es para el mentor. Hasta que no estén chequeados estos elementos no se procederá a la evaluación en persona.)
Básicos
Readme.md
no vacío.Readme.md
.Funcionalidades
Ingeniería de Software
Documentación
Revisión
Fecha prevista: 2020/XX/XX
Comentarios
Anotaciones que deben ser arregladas para aceptar el proyecto
ICloneable<T>
para implementar un unico método deClone
y luego implementar un método extensor sobreIEnumerable<T> where T : ICloneable<T>
para clonar directo una colección.enum
para laPosición
en la claseJugada
.PascalCase
para los métodos, clases, campos y propiedades; ycamelCase
para las variables y los parámetros.HigherWin
yLowerWin
son seleccionadas?IEnumerables<T>
donde se pueda y donde sea necesario si o si una lista utilizarIList<T>
.Core
y luego en otra carpeta separada por carpetas según la característica las implementaciones concretas de esa característica.Linq
para programar de una forma más declarativa.namespace
(https://docs.microsoft.com/en-us/dotnet/csharp/fundamentals/types/namespaces)Comentarios Finales
The text was updated successfully, but these errors were encountered: