Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

139
Views
Forma fácil de leer de composición de funciones en Javascript

Soy un gran fan de la programación funcional. Me esfuerzo por usar la notación sin puntos cuando puedo. Sin embargo, a menudo no entiendo cuándo es apropiada la notación sin puntos o cuándo es exagerada. El problema típico con el que me encuentro es cuando tengo tres o menos funciones para las que me encantaría usar una declaración de compose(...) para evitar la creación de variables. Sin embargo, a menudo siento que el código termina viéndose más feo cuando uso compose(...) para tan pocas funciones en comparación con el uso de variables intermedias.

Aquí hay un ejemplo de mi dilema:

 // Prefering point free notation (address, signer, execute) => (atr, sequenceId) => compose( setTxHash(atr, sequenceId), execute(address, signer), findTx, )(atr, sequenceId);
 // Preferring temporary variables (address, signer, execute) => (atr, sequenceId) => { const step1 = findTx(atr, sequenceId); const step2 = execute(address, signer)(step1); const step3 = setTxHash(atr, sequenceId)(step2); return step3; }
 // function composition without using compose(...) method (address, signer, execute) => (atr, sequenceId) => setTxHash(atr, sequenceId)( execute(address, signer)( findTx(atr, sequenceId) ) )

Sé preguntar "¿alguno de estos se ve mejor que otros?" puede ser demasiado subjetivo, pero ¿hay alguna regla general que pueda usar o algún buen recurso que hable sobre esto y pueda ofrecer una perspectiva útil?

¡Gracias por adelantado!

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Si necesita introducir los puntos (variables con nombres) de todos modos porque los está pasando a múltiples funciones, usar compose es excesivo. La tercera versión de su función es la más limpia en ese sentido. Además, los nombres siempre son útiles si son descriptivos, ya que eso ayuda a la comprensión del código.

Solo si pudieras escribir

 (execute) => compose( setTxHash, execute, findTx, )

el uso de compose te gana algo (en particular, concisión).

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!