Para extender un poco el título, estoy tratando de llegar a una conclusión sobre si es necesario o no declarar explícitamente (es decir, inyectar) funciones puras de las que depende otra función o clase.
¿Hay algún código menos comprobable o peor diseñado si utiliza funciones puras sin pedirlas? Me gustaría llegar a una conclusión al respecto, para cualquier tipo de función pura, desde funciones simples y nativas (por ejemplo max()
, min()
independientemente del idioma) hasta personalizadas y más complicadas que a su vez pueden depender implícitamente de otras funciones puras.
La preocupación habitual es que si algún código solo usa una dependencia directamente, no podrá probarlo de forma aislada, es decir, probará al mismo tiempo todas las cosas que trajo en silencio. Pero esto agrega un poco de repetitivo si tiene que hacerlo para cada pequeña función, por lo que me pregunto si esto aún es válido para funciones puras, y por qué o por qué no.