RodrigoToroIcarte / IIC2113-2023-1

6 stars 0 forks source link

Duda Buen Uso de Controladores #202

Open Martinrsts opened 11 months ago

Martinrsts commented 11 months ago

Hola, Implementé el proyecto de la forma en que hay varios controladores que manejan los datos del juego y jugadores. Tengo una duda para que sea limpio. Algunos controladores se instancian pasándole estructuras de datos y después simplemente se ejecuta con una función del controlador sin argumentos. Otros controladores no se instancian con estructuras de datos, pero su función necesita argumentos (servirían como controladores estáticos). ¿Es necesario que todos sean de alguna forma? ¿Alguna de las dos formas es más correcta? ¿O está bien que haya distintos tipos de controladores, unos que se ejecutan con argumentos y otros que se instancian con argumentos?

RodrigoToroIcarte commented 11 months ago

Lamentablemente, la respuesta es depende.

Siempre ayuda que exista cierto grado de consistencia en el código. Hace que alguien externo se acostumbre a ver que los controladores funcionan de cierta forma. Y si encuentra uno que funciona distinto, lo sorprenda. Un código realmente limpio no sorprende a quien lo lee.

Pero los controladores pueden ser muy distintos entre si. Algunos requieren parámetros que son "fijos" para cumplir su responsabilidad, como el view. Normalmente ese tipo de parámetros se da en el constructor. Otros parámetros dependen de cuando se quiera llamar al método (como el jugador sobre el que se aplica el efecto). Normalmente esos parámetros los damos en la función.

Entonces la respuesta es depende. Si puedes hacer que exista cierta consistencia entre los controladores, mejor.