Python:
कोड को फ़ंक्शन्स में व्यवस्थित करना
कैसे करें:
मान लीजिए कि आप एक संख्या के वर्ग और घन की गणना करने के लिए एक स्क्रिप्ट लिख रहे हैं। बिना फंक्शंस के, यह दोहराव का एक गड़बड़ है:
num = 4
square = num * num
cube = num * num * num
print(f"वर्ग: {square}, घन: {cube}")
num = 5
square = num * num
cube = num * num * num
print(f"वर्ग: {square}, घन: {cube}")
आउटपुट:
वर्ग: 16, घन: 64
वर्ग: 25, घन: 125
फंक्शंस के साथ, यह अधिक साफ़ है:
def square(n):
return n * n
def cube(n):
return n ** 3
num = 4
print(f"वर्ग: {square(num)}, घन: {cube(num)}")
num = 5
print(f"वर्ग: {square(num)}, घन: {cube(num)}")
आउटपुट:
वर्ग: 16, घन: 64
वर्ग: 25, घन: 125
गहराई में:
पहले के दिनों में, जब प्रोग्राम सरल होते थे, आप सिर्फ निर्देशों की एक सूची लिखकर बच सकते थे। लेकिन जैसे-जैसे सॉफ़्टवेयर अधिक जटिल होता गया, डेवलपर्स ने महसूस किया कि वे बार-बार एक ही कोड को फिर से लिख रहे हैं। हैलो, फंक्शंस—एक एकल कार्य को पूरा करने वाले पुन: उपयोगी कोड ब्लॉक्स।
फंक्शंस के विकल्पों में श्रेणियाँ शामिल हैं (उन डेटा के साथ फंक्शंस को बंडल करना जिन पर वे कार्य करते हैं) और इनलाइन कोड (आपको जहाँ आवश्यकता हो वहीँ बुद्धिमत्ता, लेकिन जटिल कार्यों के लिए जोखिम भरा)। कार्यान्वयन-वार, चाल न सिर्फ फंक्शंस बनाने में है, बल्कि उन्हें एक चीज को अच्छी तरह से करने में भी है—एकल जिम्मेदारी सिद्धांत के बारे में सोचें। फंक्शंस को आदर्श रूप से अवस्थारहित होना चाहिए, अर्थात् अंदर या बाहर जा रहे डेटा के साथ कोई आश्चर्य नहीं होना चाहिए।
देखें भी
- फंक्शंस पर आधिकारिक पायथन ट्यूटोरियल: https://docs.python.org/3/tutorial/controlflow.html#defining-functions
- साफ़ कोड कैसे लिखें, इस पर सिद्धांतों के लिए रॉबर्ट सी. मार्टिन द्वारा ‘क्लीन कोड’।
- कोड की संगठन को सुधारने के उदाहरणों के साथ मार्टिन फाउलर द्वारा ‘रिफैक्टरिंग: मौजूदा कोड के डिज़ाइन में सुधार’।