केस : मैं एक कंपनी में काम कर रहा हूं, पायथन में एक एप्लिकेशन लिख रहा हूं जो सरणियों में बहुत सारे डेटा को संभाल रहा है। मैं इस समय इस कार्यक्रम का एकमात्र डेवलपर हूं, लेकिन यह शायद भविष्य में (1-3 वर्ष) किसी अन्य प्रोग्रामर द्वारा मेरे लिए अज्ञात इस समय उपयोग / संशोधित / विस्तारित किया जाएगा। मैं शायद तब सीधे मदद करने के लिए नहीं रहूंगा, लेकिन हो सकता है कि ईमेल के माध्यम से कुछ सहायता दे अगर मेरे पास इसके लिए समय है।
इसलिए, एक डेवलपर के रूप में जिसने कार्यात्मक प्रोग्रामिंग (हास्केल) सीखा है, मैं उदाहरण के लिए, इस तरह से फ़िल्टर करना हल करता हूं:
filtered = filter(lambda item: included(item.time, dur), measures)
बाकी कोड OO है, यह केवल कुछ छोटे मामले हैं जहां मैं इसे इस तरह हल करना चाहता हूं, क्योंकि यह मेरे अनुसार बहुत सरल और अधिक सुंदर है।
प्रश्न : क्या इस तरह कोड लिखना आज ठीक है?
- कैसे एक डेवलपर जो लिखित / सीखे नहीं है एफपी इस तरह कोड पर प्रतिक्रिया करता है?
- क्या यह पठनीय है?
- परिवर्तनीय?
क्या मुझे एक बच्चे को समझाते हुए दस्तावेज लिखना चाहिए कि रेखा क्या करती है?
# Filter out the items from measures for which included(item.time, dur) != True
मैंने अपने मालिक से पूछा है, और वह बस कहता है "एफपी काला जादू है, लेकिन अगर यह काम करता है और सबसे कुशल समाधान है, तो इसका उपयोग करना ठीक है।"
इस पर आपकी क्या राय है? एक गैर-एफपी प्रोग्रामर के रूप में, आप कोड पर कैसे प्रतिक्रिया करते हैं? क्या कोड "googable" है ताकि आप समझ सकें कि यह क्या करता है? मुझे इस पर प्रतिक्रिया पसंद आएगी।
# Select the item's from measures for which included(item.time, dur) == True
दोहरा नकारात्मक से बचने से हमेशा समझ में सुधार होता है।