2010-09-15 6 views
6

के साथ सॉफ्टवेयर इंजीनियरिंग सिद्धांतों हम हमेशा किसी समस्या को हल करने के लिए अपने कौशल को लागू करने की हमारी क्षमता पर सुधार करने की कोशिश कर रहे हैं। सॉफ्टवेयर इंजीनियरिंग सिद्धांतों ने उच्च गुणवत्ता वाले कोड लिखने की मेरी क्षमता में काफी मदद की है। इसमें ओओ का उपयोग करके परीक्षण, मॉड्यूलरलाइजेशन, उचित, आदिजावास्क्रिप्ट

यहां एक उदाहरण दिया गया है कि मैंने अपने जेएस में कुछ मॉड्यूलरेशन कैसे हासिल किया। शायद यह हासिल करने का एक बुरा तरीका है, लेकिन यह मेरा मतलब है कि इसका मतलब है और इसमें कुछ प्रश्न हैं।

framework.js

Framework = { 
    CurrentState : { 
     IsConfigurationLoaded : false, 
     IsCurrentConfigurationValid : false, 
     Configuration : undefined //undefined .. good? bad? undefined? 
    }, 
    Event : { 
     //event lib 
    }, 
    //you get the idea 
} 

प्रश्न:

किन तरीकों से आप पठनीयता, रख-रखाव, और अपने जे एस के अन्य गुणवत्ता विशेषताओं में सुधार करने के software engineering सिद्धांतों को लागू करते?

अन्य संबंधित (अधिक विशिष्ट) प्रश्न का जवाब देने में मदद करने के लिए: जो सरल था

मैं एक बार एक सरल जे एस इकाई परीक्षण रूपरेखा लिखा था, का दावा है और एक परीक्षण सहायक विधि एक लैम्ब्डा लेने। यूनिट परीक्षण जावास्क्रिप्ट पर आपके विचार क्या हैं?

आपके कोड और ढांचे के बीच सीमा को परिभाषित करना कितना महत्वपूर्ण है?

जेएस ज्यादातर ब्राउज़र या वेबसाइट में उपयोग किया जाता है। क्या इससे कुछ चिंताओं को कम/कम किया जाता है?

क्या आप कक्षाओं और ओओ सिद्धांतों का उपयोग करने का सुझाव देते हैं?

अपरिभाषित और/या शून्य का उपयोग? क्या इसे मना किया जाना चाहिए?

प्रयास/पकड़ का उपयोग? सुझाव दिया?

आप जेएसओएन से कक्षाओं में कब जाते हैं? क्या आप डेटा पर चलने वाली विधियों का उपयोग करते हैं?

प्रोटोटाइप का उपयोग? सुझाव दिया? एक अच्छा मामला क्या है जहां आप इसका उपयोग नहीं करेंगे?

उत्तर

1

बड़ी परियोजना में मैं मॉडल-, नियंत्रण- और दृश्य-फ़ाइलों ([एमवीसी-पैटर्न] [1]) के बीच भिन्न होता हूं।

मॉडल-फ़ाइल में विशेष रूप से मेरी कक्षा (ओओपी) डेटा से संबंधित सबकुछ शामिल है। एक मॉडल फ़ाइल के लिए एक उदाहरण हो सकता है:

function myClass(){ 
    //private variable 
    var variable=5; 

    //public variable  
    this.newVariable = 10; 

    function myFunction() { 
     //do some stuff 
     alert("my function"); 
    }  

    //public stuff 
    return { 
     myPublicFunction: myFunction 
    } 
} 

दृश्य-फ़ाइल लेआउट और दृश्य और नियंत्रण फाइल करने के लिए विषय में डेटा से निपटने के लिए के विषय में सामान से भर जाता है सब कुछ शामिल है। नियंत्रण-फ़ाइल मॉडल-फ़ाइल में घोषित कक्षा का उपयोग करती है और इसके साथ काम करती है। इसलिए दृश्य को केवल नियंत्रण-फ़ाइल को शामिल करने और लेआउट के लिए आवश्यक कार्यों को कॉल करने की आवश्यकता है।

लेकिन आम तौर पर यह सामान्यीकृत करने के लिए काफी अलग है। मुझे ओओ-पैटर्न पसंद है और उपयोग करने के लिए trie है, अगर यह समझ में आता है। लेकिन मुझे केवल आईफोन-विकास के साथ अनुभव है, इसलिए मैं वेब देव से संबंधित कुछ कहने में सक्षम नहीं हूं।

[1]: http://en.wikipedia.org/wiki/Model%E2%80%93View%E2%80%93Controller 
संबंधित मुद्दे