Sí, querida, la función podría ser cada vez más pequeña y si es buena o mala depende del idioma / marco que esté utilizando.
En mi opinión, trabajo principalmente en tecnologías front-end, las funciones pequeñas se usan principalmente como funciones auxiliares, seguramente las usará mucho cuando trabaje con filtros pequeños y use la misma lógica en su aplicación. Si su aplicación tiene demasiada lógica común, habrá muchas funciones pequeñas.
Pero en una aplicación donde no tiene una lógica común, no estará obligado a realizar pequeñas funciones, pero puede dividir su código en segmentos donde le resulte fácil de administrar y comprender.
En general, dividir su gran código en una función pequeña es un enfoque muy bueno. En marcos e idiomas modernos, seguramente lo hará, p. Ej.
data => initScroll(data)
es una función anónima en ES 2017 JavaScript y mecanografiado
getMarketSegments() {
this.marketService.getAllSegments(this.project.id)
.subscribe(data => this.segments = data, error => console.log(error.toString()));
}
en el código anterior puede ver 3 declaraciones de funciones y 2 llamadas a funciones, esta es una simple llamada de servicio en Angular 4 con Typecript. Puedes considerarlo como tus requisitos
([] 0)
([x] 1)
([x y] 2)
Las anteriores son 3 funciones anónimas en lenguaje clojure
(def hello (fn [] "Hello world"))
La anterior es una declaración funcional en clojure
Entonces sí, las FUNCIONES pueden ser más pequeñas pero si es bueno o malo si tiene funciones como:
incrementNumber(numb) { return ++numb; }
Bueno, no es una buena práctica hacerlo, pero ¿qué pasa si está usando esta función en una etiqueta HTML como lo hacemos en Angular Framework si no hubiera soporte para Incremento o Disminución en Plantillas Angulares de HTML? Entonces esta habría sido la solución para yo.
Tomemos otro ejemplo
insertInArray(array, newKey) {
if (!array.includes(newKey)) {
array.push(newKey);
}
}
El ejemplo anterior es imprescindible cuando se juega cuando las matrices dentro de Plantillas HTML Angulares. Entonces a veces tendrás que crear pequeñas funciones
Assert.AreEqual<int>(expected, actual, message, arg1, arg2, arg3, ...);
. El segundo está bien como está. Potencialmente incluiría una bandera de bool opcional que dictaría si lanzar una excepción / etc. en caso de que la devolución de llamada no sea una función.