Open jcarrascoa7 opened 1 week ago
Hacer if (<nombre_nueva_clase_>.isCompleted()
no rompe nada de clean code. Pero me causa curiosidad la clase que estás considerando agregar.
¿Cuál sería su nombre? ¿cuál sería su responsabilidad? ¿tener esa clase ayudará a que sea más fácil entender tu código? Dependiendo de las respuestas, agregar la clase puede ser una muy buena idea o un dolor de cabeza para el lector de tu código :P
En un principio estaba pensando en hacer algún tipo de clase estática que tuviera todos los flags, sin embargo, ahí creo que no sería correcto ya que podría tener más de una responsabilidad (al checkear distintas cosas). Otra duda que tengo sería esa, si es mala idea utilizar una clase estática.
Por lo tanto, se me ocurrió modularizar aún más y, por ejemplo, crear una clase llamada EffectTypeChecker
que únicamente incluya aquellos flags que revisan si un efecto es de un determinado tipo, teniendo una única responsabilidad que sería la de checkear los tipos (de antemano no sé si está bien comentar explícitamente mi idea).
En mi opinión dicha clase si facilitaría entender el código al hacer los scripts más cortos y con responsabilidades más claras, además de que el nombre de la clase es suficientemente autoexplicativo como para que se entienda cuál es la responsabilidad de la clase de la cual se está llamando la flag.
Igual, ten cuidado con tener atributos static
porque pueden matar los test cases (ver https://github.com/franciscogazitua/IIC2113-2024/issues/41). Fuera de eso, me parece un buen plan :+1:
Hola, estaba viendo formas de poder limpiar mi código y me di cuenta de que en algunos scripts hay muchos métodos que simplemente definen flags booleanos, por lo que me preguntaba si sería buena práctica el definir una clase que contuviera todas las definiciones de esas flags.
Lo que más me hace ruido es que ya no se utilizarían las flags con la sintaxis:
if (isCompleted())
Si no que quedaría algo del estilo:
if (<nombre_nueva_clase_>.isCompleted()
Por lo que no sé si cumpliría con Clean Code.