क्या किसी फ़ंक्शन के उद्देश्य में बाय-वैल्यू मापदंडों के मूल्यों को संशोधित करने के लिए उद्देश्यपूर्ण, सहायक सॉफ्टवेयर-इंजीनियरिंग तर्क हैं?
मेरी टीम पर एक आवर्ती स्पैट (ज्यादातर अच्छे मज़े में) है कि क्या मूल्य द्वारा पारित मापदंडों को संशोधित किया जाना चाहिए या नहीं। टीम के एक युगल सदस्य इस बात पर अड़े हैं कि मापदंडों को कभी भी सौंपा नहीं जाना चाहिए, ताकि मूल रूप से फ़ंक्शन के लिए पारित मूल्य को हमेशा पूछताछ के लिए रखा जा सके। मैं असहमत हूं और कहता हूं कि पैरामीटर विधि को कॉल करने के सिंटैक्स द्वारा आरंभ किए गए स्थानीय चर से ज्यादा कुछ नहीं हैं; यदि उप-मान पैरामीटर का मूल मूल्य स्थानीय चर से महत्वपूर्ण है, तो इस मूल्य को स्पष्ट रूप से संग्रहीत करने के लिए घोषित किया जा सकता है। मुझे विश्वास नहीं है कि दोनों में से किसी को भी हमारी स्थिति के लिए बहुत अच्छा समर्थन है।
क्या यह एक गैर-resolvable धार्मिक संघर्ष है, या दोनों दिशाओं में अच्छे, उद्देश्य सॉफ़्टवेयर इंजीनियरिंग कारण हैं?
नोट: सिद्धांत का प्रश्न विशेष भाषा के कार्यान्वयन के विवरण की परवाह किए बिना रहता है। जावास्क्रिप्ट में, उदाहरण के लिए, जहां तर्कों की सूची हमेशा गतिशील होती है, पैरामीटर को arguments
ऑब्जेक्ट से स्थानीय चर आरंभ के लिए सिंटैक्टिक चीनी माना जा सकता है । फिर भी, कोई भी पैरामीटर घोषित पहचानकर्ताओं को "विशेष" के रूप में मान सकता है क्योंकि वे अभी भी कॉल करने वाले से कैली तक जानकारी पारित कर रहे हैं।