为了使代码更具可读性,有人建议一个函数应该做一些简单的事情,然后将函数组合成一个大函数。但是如果小函数可以接受相同的多组参数,如果使用多个函数,那么参数是重复的,在这种情况下如何编写更易读的代码?
例如在以下2个函数中,fun1和fun2具有相同的参数集,两者都只能接受一个参数,或者可以接受2个参数。如果使用一个函数(将代码从fun2复制到fun1),那么我不会复制参数集(一个用于参数,另一个用于2个参数)。有更好的方法吗?
<input type="checkbox" name="closed-' + rowCounter + '" id="closed-' + rowCounter + '" />
答案 0 :(得分:0)
如果使用一个函数,则必须检查参数的值,因为函数的主体是不同的。我认为这将使您的代码不那么清晰,更难以遵循,如果可能的话,测试。代码中的一点重复有时是可以接受的,因此,如果我是你,我将保留2个函数。
答案 1 :(得分:0)
(comp do-something-to fun2)
......拥有fun2
的所有元素。你是否给这个短语起了名字......
(def fun1 (comp do-something-to fun2))
......没有实际意义。
我假设你的fun1
就像......
(defn fun1
([x] (fun1 x nil))
([x y] (do-something-to
(fun2 x y)))
)
您拥有的do
不会影响返回的值。
顺便说一句,如果您想在(declare fun2)
之前定义fun1
,则需要先fun2
。