Skip to content

Commit

Permalink
Update README Juan.md
Browse files Browse the repository at this point in the history
  • Loading branch information
juanmato authored Nov 13, 2024
1 parent 143319b commit 3e13701
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,8 @@ Para esta entrega, fue importante pensar en todo el código sin enfocarnos todav

Además de los desafíos iniciales, como la dependencia entre clases y la necesidad de desarrollarlas por separado, también enfrentamos dificultades técnicas específicas. La implementación de la lógica de tipos de Pokémon y su efectividad fue un punto crítico, ya que implicó manejar múltiples casos especiales y excepciones. Esto nos llevó a investigar y utilizar estructuras más eficientes, como diccionarios, para simplificar la lógica y hacerla más clara.

El uso de la API de Discord y características avanzadas de C#, como los comentarios XML, representó un aprendizaje significativo. Esto nos obligó a buscar recursos adicionales y experimentar con nuevas herramientas para lograr los resultados deseados. Al trabajar de manera iterativa, aprendimos a priorizar funcionalidades clave y dejar de lado ideas que complicaban el proyecto sin aportar valor inmediato.
El uso de principios como SRP (Single Responsibility Principle) fue fundamental para resolver estos retos. Diseñar clases independientes y modulares nos permitió asignar responsabilidades de manera efectiva, asegurando que cada clase cumpliera un propósito claro y único. Esto también facilitó el mantenimiento del código y redujo las dependencias innecesarias entre componentes.

Otro aspecto importante fue el diseño de la interacción del bot. Lograr una experiencia cercana a las batallas reales de Pokémon requirió creatividad y atención a los detalles, lo que nos ayudó a consolidar nuestra visión del proyecto. A pesar de los retos, este proceso nos permitió entregar un producto funcional en cada etapa y mejorar continuamente hasta alcanzar el objetivo final.
Trabajar con estos principios nos ayudó a estructurar el proyecto de forma escalable. Por ejemplo, asignar la responsabilidad de la efectividad de los ataques a la clase `Pokemon` respetó el principio de Expert, ya que esta clase tenía toda la información necesaria para cumplir esa tarea. Este enfoque iterativo nos permitió refactorizar y priorizar funcionalidades clave mientras manteníamos la cohesión en el diseño.

Al final, logramos desarrollar un sistema coherente que respetaba estos principios, asegurando la calidad y funcionalidad del producto.

0 comments on commit 3e13701

Please sign in to comment.