1-लाइन फ़ंक्शंस से डरो मत!
बहुत से प्रोग्रामर के पास 1-लाइन फ़ंक्शन के बारे में मानसिक अवरोध प्रतीत होता है, आपको नहीं करना चाहिए।
यदि यह कोड स्पष्ट और क्लीनर बनाता है, तो रेखा को फ़ंक्शन में निकालें।
प्रदर्शन शायद प्रभावित नहीं होगा।
पिछले दशक (और शायद आगे) में किए गए किसी भी सभ्य संकलक स्वचालित रूप से एक साधारण 1-लाइन फ़ंक्शन को रेखांकित करेंगे। इसके अलावा, सी की 1-लाइन आसानी से मशीन कोड की कई लाइनों के अनुरूप हो सकती है। आपको यह नहीं मानना चाहिए कि सैद्धांतिक मामले में भी जहां आप फ़ंक्शन कॉल के पूर्ण ओवरहेड को लेते हैं, यह ओवरहेड आपकी "एक छोटी सी रेखा" की तुलना में महत्वपूर्ण है। अपने आवेदन के समग्र प्रदर्शन के लिए अकेले महत्वपूर्ण होने दें।
एब्स्ट्रक्शन बेहतर डिजाइन की ओर ले जाता है। (यहां तक कि कोड की एकल पंक्तियों के लिए)
कार्य अमूर्त, घटक कोड के प्राथमिक भवन ब्लॉक हैं, उन्हें उपेक्षित नहीं किया जाना चाहिए। यदि फ़ंक्शन कॉल के पीछे कोड की एक पंक्ति को encapsulating कोड को और अधिक पठनीय बनाता है, तो इसे करें। यहां तक कि उस मामले में जहां समारोह को एक बार बुलाया जाता है। यदि आपको कोड की एक विशेष पंक्ति पर टिप्पणी करना महत्वपूर्ण लगता है, तो यह एक अच्छा कोड गंध है कि कोड को एक अच्छी तरह से नामित फ़ंक्शन में स्थानांतरित करने में सहायक हो सकता है।
निश्चित रूप से, यह कोड आज 1-लाइन हो सकता है, लेकिन एक ही कार्य करने के कितने अलग तरीके हैं? फ़ंक्शन के अंदर कोड को एन्सेप्लेट करने से आपके लिए उपलब्ध सभी डिज़ाइन विकल्पों को देखना आसान हो सकता है। हो सकता है कि कोड की आपकी 1-लाइन एक webservice पर कॉल में फैली हुई हो, हो सकता है कि यह डेटाबेस क्वेरी बन जाए, हो सकता है कि यह कॉन्फ़िगर करने योग्य हो (उदाहरण के लिए रणनीति पैटर्न का उपयोग करके), हो सकता है कि आप अपने 1- लाइन। इन सभी विकल्पों को कार्यान्वित करना आसान है और जब आपने अपने 1-लाइन कोड को अपने स्वयं के फ़ंक्शन में निकाला है तो अधिक आसानी से सोचा गया है।
शायद आपकी 1-लाइन अधिक रेखाएं होनी चाहिए।
यदि आपके पास कोड का एक बड़ा ब्लॉक है तो यह स्क्रीन रीयल एस्टेट पर सहेजने के लिए, एक पंक्ति पर बहुत सारी कार्यक्षमता को क्रैक करने के लिए मोहक हो सकता है। जब आप इस कोड को किसी फ़ंक्शन में माइग्रेट करते हैं, तो आप इन दबावों को कम करते हैं, जो आपको अपने जटिल 1-लाइनर को अधिक सरल कोड में विस्तारित करने के लिए अधिक इच्छुक हैं (जो इसकी पठनीयता और रखरखाव में सुधार करेगा)।
आप कॉल ओवरहेड के बारे में चिंता कर रहे हैं, लेकिन फिर एक छोटे पूर्णांक की शक्ति में 2 को बढ़ाने के लिए वाह को बुला रहे हैं? ; -पी –
ऐसा करने का बेहतर तरीका क्या हो सकता है? मैं जानना चाहता हूं। –
2^x 2 के समान है << x अगर x एक पूर्णांक –