कार्यात्मक प्रोग्रामिंग के साथ प्रबंधनीय कोड कैसे लिखें?


14

मैंने सिर्फ कार्यात्मक प्रोग्रामिंग (जावास्क्रिप्ट और नोड.जेएस के साथ) के साथ शुरू किया था और चीजों की नज़र से ऐसा लगता है जैसे कि मैं जो कोड लिख रहा हूं वह प्रबंधन के लिए एक कोड आधार का एक नरक बन जाएगा, जब प्रोग्रामिंग भाषाओं की तुलना में ए। वस्तु उन्मुख प्रतिमान की तरह।

OOP के साथ मैं उन प्रथाओं से परिचित हूं जो यह सुनिश्चित करेगी कि आपका कोड आसानी से प्रबंधित और एक्स्टेंसिबल है। लेकिन मैं कार्यात्मक प्रोग्रामिंग के साथ इसी तरह के सम्मेलन के लिए निश्चित हूं।


4
जावास्क्रिप्ट एक वस्तु उन्मुख भाषा है, इसलिए Node.js का उपयोग करके अपने OOP कौशल का उपयोग करें
जोनास

5
कार्यों का प्रयास करें। जो लगभग हर समस्या का समाधान करेंगे।
tp1

4
यहाँ अपने नोड स्रोत कोड को साफ सुथरा रखने के लिए एक महान संसाधन है और इसलिए प्रबंधनीय है: nodeguide.com/style.html
डैनियल ब्रैडले

2
जहां तक ​​मुझे पता है, केवल कार्यात्मक प्रोग्रामिंग सुविधा जावास्क्रिप्ट है लैम्ब्डा (अधिक सटीक, अनाम फ़ंक्शन) और फ़ंक्शन पासिंग। यदि आप कार्यात्मक प्रोग्रामिंग सीखना चाहते हैं, तो आपको संभवतः हास्केल या एफ # / ओकेएमएलएल या स्काला या लिस्प जैसी किसी चीज़ पर ध्यान देना चाहिए।
री मियासाका

जवाबों:


8

व्यवहार में, एक बड़े कार्यात्मक कोडबेस को अभी भी कुछ प्रकार की संरचनात्मक प्रणाली में विभाजित किया जाना चाहिए। यदि आप OOP में सहज हैं, तो कक्षाएं प्राकृतिक संरचना तत्व बनी रहती हैं। आप "कार्यात्मक वस्तुओं" के लिए प्रयास करते हैं: वैचारिक रूप से संबंधित कार्यों को एक कक्षा में एक साथ रखा जाता है। बेशक, आप गैर-संवादी स्थिति से बचते हैं और उदाहरण के चर पर भरोसा करते हैं।

संरचना से परे जाकर, कुछ निश्चित तकनीकें हैं, जैसे कि आंशिक फ़ंक्शन अनुप्रयोग, जो विस्तार, रखरखाव और सामान्यीकरण के लिए कार्यात्मक दुनिया में पसंद किए जाते हैं। इन अवसरों को पहचानना सीखना एक हाइब्रिड फंक्शनल / ऑब्जेक्ट मोड में काम करते समय मुश्किल हो सकता है। व्यक्तिगत रूप से, मुझे लगता है कि हाइब्रिड मोड में काम करना एक अच्छा विचार है, लेकिन अधिक शुद्ध वातावरण में अध्ययन करना और खेलना , जैसे कि हास्केल द्वारा प्रदान किया गया।


2

कार्यात्मक प्रोग्रामिंग भाषाएं उच्च गुणवत्ता कोड बनाने के लिए बहुत शक्तिशाली अवधारणाओं का आनंद लेती हैं, उदाहरण के लिए: आंशिक रूप से लागू किए गए कार्य, कार्य रचनाएं (यह वास्तव में शक्तिशाली और मेरा पसंदीदा है), मैक्रोज़, उच्च क्रम के कार्य। और अपरिवर्तनीय डेटा संरचनाओं को नहीं भूलना।


1

FP के लिए OOP को छोड़ने के बजाय, इसे कुछ FP पैटर्न के साथ बढ़ाने का प्रयास करें। किसी भी समय आपको एक संग्रह की प्रक्रिया करने की आवश्यकता होती है, एक अच्छा उम्मीदवार होता है और नक्शे, गुना और कम करने के लिए एफपी विधियों के एक सामान्य सेट की ओर इशारा करता है। अंडरस्कोर.जेएस और बैकबोन पर एक नज़र डालें, एक एमवीसी ढांचा जो पूर्व का व्यापक उपयोग करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.