Es muy probable que hayas oído hablar en contadas ocasiones sobre programación funcional, sin embargo, si estás empezando en el mundo de la programación o vienes de programación orientada a objetos, no conocerás con certeza de qué se trata.
Una pequeña base para definir este término es el hecho de desarrollar una funcionalidad, basándonos en métodos de programación, los cuales reciben unos parámetros de entrada y devuelven un valor, en cuyo proceso no existen efectos secundarios (side effects), es decir, no mutan valores. A las funciones que cumplen estos requisitos se las denomina funciones puras (pure functions).
En lenguajes de programación como Javascript
, existen funciones ya definidas por el lenguaje, que realizan ciertas operaciones:
map
, find
, filter
, reduce
, forEach
, etc., estas operaciones se las conoce como functional operators
y están pensadas para
trabajar sobre un listado de valores (array).
Desde luego que no. Que existan no quiere decir que sean la solución a todos los problemas a los que te vayas a enfrentar, sin embargo, son una herramienta que te protegerá de algunos errores de programación, como puede ser la mutabilidad de valores, errores de hoisting, o simplemente cuando se tiene experiencia con ellos, mejoran la capacidad lectora del código.
Cuando hacemos TDD, no es aconsejable enfocar nuestro código al uso de operadores funcionales, puesto que cerrarán nuestro diseño a esa solución, por el contrario, en una versión más madura del código o cuando se detectan determinados patrones, es un buen punto para aplicar estas soluciones y asentar nuestro código.
¿Quieres más? te invitamos a suscribirte a nuestro boletín para avisarte cada vez que recopilemos contenido de calidad que compartir.
Si disfrutas leyendo nuestro blog, ¿imaginas lo divertido que sería trabajar con nosotros? ¿te gustaría?
Pero espera 🖐 que tenemos un conflicto interno. A nosotros las newsletter nos parecen 💩👎👹 Por eso hemos creado la LEAN LISTA, la primera lista zen, disfrutona y que suena a rock y reggaeton del sector de la programación. Todos hemos recibido newsletters por encima de nuestras posibilidades 😅 por eso este es el compromiso de la Lean Lista