为了使代码更具可读性,有一些建议是,一个函数应该做简单的事情,然后将函数组合成一个大的函数。但是,如果小函数可以接受相同的多个参数集合,如果使用多个函数,那么参数是重复的,在这种情况下如何编写更易读的代码?使用2个函数或只有一个函数,如果两个函数具有相同的一组参数?
例如在以下2个函数中,fun1和fun2具有相同的一组参数,两者都只能接受一个参数,或者可以接受2个参数。如果使用一个函数(将fun2的代码复制到fun1),那么我不会复制参数集(一个用于参数,另一个用于2个参数)。有更好的方法吗?
(defn fun1
([x] (fun1 x nil))
([x y] (do ....
(fun2 x y)))
)
(defn fun2
([x] (fun2 x nil))
([x y] (......))
)