मैं महसूस कर रहा हूं कि विकासशील सॉफ्टवेयर (दूसरों के बीच) अपने आप से लगातार सवाल पूछने की एक प्रक्रिया है। कोड की गुणवत्ता, चिंताओं को अलग करने, निर्भरता कम करने से संबंधित प्रश्न ...
लेकिन मुख्य सवाल यह है: मानसिक अस्पताल में समाप्त किए बिना आप कितनी दूर जा सकते हैं?
मैं नई नौकरी के लिए आवेदन कर रहा हूं। कल मैं एक संभावित भविष्य के नियोक्ता के साथ था जो मेरी प्रोग्रामिंग कैपैबिलिटी का परीक्षण करना चाहता था। अभ्यास में से एक था: समझाएं कि यह कोड क्या करता है। मैं आवेदन के कुछ कोड (vb.net में winforms) के माध्यम से चला गया कि वे विकसित होते हैं (यह एक अस्पताल के लिए एक प्रशासनिक अनुप्रयोग है)। इससे मुझे वास्तव में यह देखने का मौका मिला कि वे चीजों को कैसे देखते हैं और यह निराशाजनक था।
कुछ उदाहरण:
- मैंने कहीं देखा: कॉल [सबरूटीन का नाम यहाँ डालें] -> मैं मारा गया था: VB6 से ऐसा कुछ नहीं है?
- उनके पास ado.net का उपयोग करके एक अलग डटलेयर है, लेकिन एक विधि मुझे कॉलिंग लेयर में एक डेटासेट की जांच करनी थी। इतना अलग डैटलेयर या नहीं, एप्लिकेशन को ado.net से जोड़ा जाता है (जो कभी भी किसी अन्य डेटा एक्सेस दृष्टिकोण पर स्विच नहीं होने पर भी समस्या हो सकती है)।
- यह डेटासेट के रूप में पढ़ा जाता है, इसलिए यह अभी भी डेटा-केंद्रित दृष्टिकोण है (बेशक, कोई यह तर्क दे सकता है कि आप "रोगी" या "LabAnalysisRequest" जैसी कक्षाओं में कितना तर्क / व्यवहार रख सकते हैं।
- मैं यह भी मानता हूं कि स्ट्रिंग कॉन्क्लेनेशन द्वारा एक sql क्वेरी के निर्माण को देखा है।
- वे संग्रहीत प्रक्रियाओं का उपयोग करते हैं (जो, मेरे लिए, इसका मतलब है: तर्क का बिखरना)
- विचारों / नियंत्रकों का कोई उल्लेख नहीं: यह सभी प्रकार से संचालित है
- सबसे बदसूरत चीज जो मैंने देखी:
यदि TestEnvironment.IsTesting तो someVar = [कुछ हार्ड कोडित मूल्य] अन्य someVar = [कुछ गतिशील रूप से प्राप्त मूल्य] अगर अंत [शेष समारोह यहाँ]
स्कूल में मैंने जो कुछ सीखा, वह सब इतना अलग है: (दृढ़ता अज्ञेयवादी) डोमेन परत, दृढ़ता परत, प्रस्तुति परत, इकाई परीक्षण, ...
इसलिए मैं अपने प्रश्न को फिर से बताता हूं: एक व्यक्ति को कितना मौलिक या हठधर्मी होना चाहिए? एक प्रोग्रामर को अपने सिद्धांतों पर या केवल उस कोड को लिखना चाहिए जो काम करता है?