實施例:Javascript函數式編程 - 我應該編寫強制捲曲的函數,還是在調用時使用_.curry?
版本1:
const foo = (arg1) => {
return (arg2) => {
return (arg3) => {
return arg1 + arg2 + arg3;
}
}
}
// called as part of a pipe:
const result = pipe(bar, foo(arg1)(arg2), baz);
版本2:
const foo = (arg1, arg2, arg3) => {
return arg1 + arg2 + arg3;
}
// called as part of a pipe:
const result = pipe(bar, _curry(foo)(arg1)(arg2), baz);
該方法的實現是更清潔,在第2版更優雅,但是該呼叫是一個小丑陋。由於方法調用(希望)出現在代碼庫中的多個位置,我試圖確定哪個版本具有更少的缺點。
我希望我不需要解釋爲什麼我想實現使用curried函數和傳遞單個參數。請從專業編程的角度來解決這個問題。
在此先感謝!
_「我希望我不需要解釋爲什麼」 - - 你很可能會因爲會有人會問。讓我成爲第一個,你爲什麼要這麼做?你想達到什麼目的?爲什麼使它變得複雜?花時間去思考和思考這個問題可能會被用來做更簡單的路線來做其他事情。 – Joseph
這是基於意見的。沒有規則。只要做你認爲合適的事情。 – ftor
做一個看起來更可讀的案例,沒有人適合所有 –