जब मेरे पास एक तर्क के लिए प्रासंगिक डेटा है जो इसके तर्क से स्वतंत्र है, तो मुझे स्थानीय encapsulation पर ब्लॉक encapsulation का पक्ष कब करना चाहिए?ब्लॉक encapsulation बनाम स्थानीय encapsulation -
मैं जब उपयोग करना चाहिए:
(let [hello "Hello "]
(defn do-greet
"Print a greeting."
[name]
(println (str hello name))))
बनाम:
(defn do-greet
"Print a greeting."
[name]
(let [hello "Hello "]
(println (str hello name))))
मुझे यह पसंद है, आप अधिक अंक कवर करते हैं। मुझे यकीन नहीं है कि आपका मैक्रो विस्तार बिंदु मान्य है क्योंकि आप विस्तार के चारों ओर घूम सकते हैं लेकिन अभी भी फ़ंक्शन के अंदर हो सकते हैं। पठनीयता के लिए, मैं स्टाइलिस्ट विकल्पों को अर्थपूर्ण मतभेदों से अलग करने का सुझाव देता हूं। (मूल्य विभिन्न फ़ंक्शन आमंत्रणों पर भिन्न हो सकता है)। – bmillare