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