Kiedy mam dane istotne dla funkcji niezależnej od jej argumentów, kiedy powinienem faworyzować enkapsulację bloku nad lokalną enkapsulacją?Enkapsulacja bloku a lokalna enkapsulacja - niech
Kiedy należy używać:
(let [hello "Hello "]
(defn do-greet
"Print a greeting."
[name]
(println (str hello name))))
Versus:
(defn do-greet
"Print a greeting."
[name]
(let [hello "Hello "]
(println (str hello name))))
Podoba mi się to, obejmujesz więcej punktów. Nie jestem pewien, czy punkt makropolecenia jest ważny, ponieważ można zawinąć dookoła ekspansji, ale nadal być wewnątrz funkcji. Dla czytelności sugeruję oddzielenie wyborów stylistycznych od różnic semantycznych. (Wartość może się różnić w zależności od różnych wywołań funkcji). – bmillare