मैं एक वर्ष से कम के लिए प्रोग्रामिंग कर रहा हूं और कुछ अनुभव लेखन प्रणाली के अनुप्रयोग, वेब एप्लिकेशन और व्यवसायों / संगठनों के लिए स्क्रिप्ट है। हालाँकि, एक चीज़ जो मैंने कभी नहीं की है, वह Django, Rails या Zend जैसे ढांचे के साथ काम कर रही है।
Django फ्रेमवर्क को देखते हुए, मैं थोड़ा निराश हूं कि फ्रेमवर्क में कितना सार है। मैं DRY और न्यूनतम कोड के मुख्य लक्ष्यों को समझता हूं, लेकिन विभिन्न मॉड्यूलों पर यह अधिक निर्भरता और कोर कार्यों के भारी अमूर्त को ऐसा लगता है:
मॉड्यूल / चौखटे की कभी बदलती प्रकृति के कारण कार्यक्रम तेजी से दिनांकित होते हैं,
उपलब्ध फ्रेमवर्क और मॉड्यूल के ढेरों के कारण समझने में कठिन कोड बनाता है और उनके सभी आइडिओसिंकसरीज,
जब तक आपने सभी दस्तावेज़ नहीं पढ़े हों, कोड को कम तार्किक बनाता है; यानी, मैं कुछ सूची बोध और सशर्त तर्क के माध्यम से पढ़ सकता हूं और यह पता लगा सकता हूं कि एक कार्यक्रम क्या कर रहा है, लेकिन जब आप ऐसे कार्यों को देखते हैं, जिन्हें मनमाने ढंग से तार और शब्दकोशों में पारित करने की आवश्यकता होती है, तो चीजों को समझना थोड़ा मुश्किल हो जाता है जब तक कि आप पहले से ही एक गुरु नहीं होते। एक दिया मॉड्यूल; तथा:
फ्रेमवर्क के बीच स्विच करना कठिन और थकाऊ बनाता है। भाषाओं के बीच स्विच करना पहले से ही एक चुनौती है, लेकिन यह प्रबंधनीय है यदि आपके पास उनकी मुख्य कार्यक्षमता / दर्शन की पर्याप्त समझ है। चौखटे के बीच स्विच करना रॉट मेमोराइजेशन का मामला लगता है, जो कुछ मायनों में इन अक्षमताओं को खत्म करने के लिए तैयार की गई अक्षमता को प्रोत्साहित करने के लिए लगता है।
क्या हमें वास्तव में किसी ऐसी चीज़ के ऊपर 50 परतों की तरह रखने की ज़रूरत है जो MySQL क्वेरी के रूप में सरल है? PHP के PDO इंटरफ़ेस जैसे कुछ का उपयोग क्यों नहीं किया जाता है, जहां तैयार किए गए स्टेटमेंट / इनपुट परीक्षण को संभाला जाता है, लेकिन सार्वभौमिक रूप से समझने योग्य SQL क्वेरी अभी भी फ़ंक्शन का एक हिस्सा है?
क्या वे सार वास्तव में उपयोगी हैं? क्या फ़ीचर ब्लॉट उन्हें बेकार नहीं बनाता है, बिना फ्रेमवर्क का उपयोग किए लिखे गए समान अनुप्रयोगों की तुलना में एप्लिकेशन को अधिक कठिन बना देता है?
Do we really need to put like 50 layers of abstraction on top of something as simple as a MySQL query?
- सबसे पहले, एक अच्छा ढांचा अमूर्त (शायद 2 या 3 आंतरिक) की एक परत है, और दूसरी बात यह है कि "MySQL क्वेरी के रूप में सरल रूप में कुछ" वास्तव में सार का एक अच्छा दर्जनों शामिल है। उस क्वेरी के बाद भी जिसे आपने अपनी व्याख्या की गई भाषा से निष्पादित किया है, उसने डेटाबेस सर्वर पर कर दिया है, फिर भी आपके पास भौतिक संग्रहण पर फ़ाइल सिस्टम पर डेटाबेस पर डेटाबेस पर प्रश्न हैं। इसलिए संक्षेप में: हाँ, हमें सार चाहिए, क्योंकि वे हमारे सिर को विस्फोट से बचाते हैं।
as a relatively inexperienced programmer
- जितना अधिक समय तक आप सॉफ्टवेयर बनाते हैं, उतना ही आप पहिया कम करने और घर पर अधिक समय बिताने की सराहना करेंगे जो आपको प्यार करते हैं।