Open
Description
I would like to propose the following guideline:
Prefer keyword arguments on multi arity when a function allows 2 or more optional parameters to avoid passing nil on function call.
;; good
(defn my-fun [required & {:keys [optional1 optional2]}] ...)
(my-fun "required" :optional1 "o1")
(my-fun "required" :optional2 "o2")
(my-fun "required" :optional1 "o1 ":optional2 "o2")
;; bad
(defn my-fun
([required] (my-fun required nil nil))
([required optional1] (my-fun required optional1 nil))
([required optional1 optional2] (......)))
(my-fun "required")
(my-fun "required" "opt1")
; nil?
(my-fun "required" nil "opt2")
Metadata
Metadata
Assignees
Labels
No labels