2009-07-19 8 views
7

मैं अपने जावास्क्रिप्ट (+ JQuery) कोड में क्या हो रहा है यह जानने में सहायता के लिए फ़ायरबग का उपयोग कर रहा हूं। मैं मुख्य रूप से console.log बयान के टन प्रिंट करने के लिए इसका उपयोग कर रहा हूं। यह शायद परियोजना के शीर्ष पर रहने का सबसे प्रभावी तरीका नहीं है। चूंकि यह कुछ कार्यों से सौ से अधिक तक बढ़ गया है, इसलिए मैं इस बारे में भ्रमित हो रहा हूं कि सबकुछ एक साथ कैसे फिट बैठता है। मेरा मतलब है, यह किसी भी तरह से काम करता है लेकिन जब मैं कोड को देखता हूं तो मुझे लगता है कि किसी और ने इसे लिखा है क्योंकि यह बहुत भ्रमित है।आप एक जटिल जावास्क्रिप्ट परियोजना के शीर्ष पर कैसे रहते हैं?

अब मेरे पास कंसोल में दिखाई देने वाले console.log कथन में पागल राशि है जब भी मैं फ़ायरबग में अपना ऐप चलाता हूं और मैं इसे वहां छोड़ रहा हूं क्योंकि जब भी मैं इसे बाहर ले जाता हूं तो मैं हमेशा इसे पुनर्निर्मित करता हूं। यह चीजों को और भी भ्रमित कर रहा है, मुझे लगता है, अगर मुझे कोई लॉगिंग नहीं है। मैंने वास्तव में कभी भी वास्तविक डिबगिंग का पता नहीं लगाया - ब्रेकपॉइंट्स, वैरिएबल, इत्यादि - क्या यह इस परियोजना के नियंत्रण को हासिल करने का एक अच्छा तरीका होगा या क्या कोई अन्य उपकरण मदद कर सकता है?

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

इस परियोजना के नियंत्रण को पुनः प्राप्त करने में मदद करने वाले टूल या दृष्टिकोण के लिए कोई सुझाव सराहना की जाएगी। जब मैंने इस प्रोजेक्ट को शुरू किया तो मुझे इसके बारे में बहुत अच्छा लगा क्योंकि यह बहुत अच्छा लग रहा था और लोग मुझे इस बात पर प्रशंसा देंगे कि यह कितना अच्छा था लेकिन अब यह विफलता की तरह महसूस करता है क्योंकि मुझे नहीं लगता कि मैं यह भी समझा सकता हूं कि यह कैसे काम करता है नौकरी साक्षात्कार अगर मुझे करना था।

+5

स्वरूपण हमेशा सराहना की जाती है। यह वास्तव में दीवार-ओ-पाठ है। –

+2

सहमत हुए। मैंने कुछ पैराग्राफ ब्रेक पर एक स्टैब लिया। – Nosredna

उत्तर

1

यदि यह बहुत जटिल हो रहा है तो आप बहुत अधिक कर रहे हैं, इसलिए इसे सरल रखें (यानी: इसे टाइटैनिक रखने के बजाए कई कॉम्पैक्ट लाइफबोट होने के बजाय इसे प्रबंधित करने योग्य और पुन: प्रयोज्य हिस्सों में तोड़ दें)। यह सबसे अच्छा गैर तकनीकी सलाह हो सकती है जो कोई आपको दे सकती है - और यह मान्य है।

+1

ऐसा नहीं है कि 'बहुत अधिक करना' है, आपको ऐसा करने की ज़रूरत है जो आपको करने की ज़रूरत है। –

+1

लड़का मुझे खुशी है कि वीसीकैल्क कोड जटिल होने पर ब्रिकलिन और फ्रांस्टन काम करना बंद नहीं कर पाए। – Nosredna

4

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

इसे एक शॉट दें, यूनिट परीक्षण कवरेज की थोड़ी मात्रा भी आपके दिमाग को कम करने में मदद करेगी!

11

अपना कोड व्यवस्थित रखें। लॉजिकल मॉड्यूल में इसे तोड़ने के लिए नामस्थान का उपयोग करें। सामान्य बातचीत पैटर्न की तलाश करना और सामान्य पुन: प्रयोज्य कोड विकसित करना भी बुद्धिमान हो सकता है।

मैं एक jQuery प्लगइन के रूप में हर नई सुविधा लिखने की कोशिश करता हूं। इससे मुझे पुन: प्रयोज्य कोड लिखने के लिए मजबूर किया जाता है जो स्टाइल और मार्कअप के साथ इतना नहीं है।

+0

यह एक बड़ी टिप्पणी है, हालांकि मुझे डर है कि केवल वास्तविक जावास्क्रिप्ट की शुरुआत इसकी सराहना करेगी! +1 – Thunder3

3

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

यह सब गड़बड़ छिपाने के बारे में है। चाहे वह ओओ या प्रक्रियात्मक हो। आपके पास जावास्क्रिप्ट के साथ PHP और C के साथ बहुत सी समस्याएं हैं, इसलिए आप "PHP स्पेगेटी" खोज सकते हैं और कुछ अच्छी टिप्स प्राप्त कर सकते हैं।

1

फ़ायरबग और डीबगर स्टेटमेंट जैसे एक अच्छे जावास्क्रिप्ट डीबगर का उपयोग अपनी जावास्क्रिप्ट में ब्रेकपॉइंट जोड़ने के लिए करें। पूरा होने के बाद बस उन्हें हटाने के लिए सावधान रहें।

8

मैंने कई जावास्क्रिप्ट और आदि के साथ वेब 2.0 में काम किया।मैं `करूँगा कुछ सुझाव है कि मुझे मदद की दे:

aptana प्रयास करें, पूरा कोड, सत्यापन, आदि (है EXT-जे, jQuery के प्लगइन्स) के साथ मदद

JSLint प्रयास करें, मदद करता है मुझे हल करने के लिए आवंटित इंटरनेट एक्सप्लोरर से निपटने पर विशेष रूप से समस्याएं।

YSlow अपने साइट ग्रेड देखने के लिए प्रयास करें।

WATIR का प्रयास करें, टूल जो आप कई परीक्षण केस बना सकते हैं जैसे: कहीं भी क्लिक करना कुछ टेक्स्ट दिखाई दे, कुछ फ़ील्ड में कुछ स्ट्रिंग लिखें, लॉग उत्पन्न करें।

आईडी के को हर जगह में रखना याद रखें।

एक कोड सम्मेलन परिभाषित करने में मदद कर सकता है। (link1-link2)

[अद्यतन कर रहा है] मैं अपने बुकमार्क में देख रहा था और के बारे में एक बहुत ही महान वीडियो मिला: Maintainable JavaScript एक नज़र डालें।

आशा है कि ये सरल सुझाव मदद कर सकते हैं!

चीयर्स!

1

आप जीडब्ल्यूटी का उपयोग करने के बारे में सोचना चाहेंगे।

  • सुपीरियर समर्थन।
  • कक्षाएं
  • रीफैक्टरिंग की क्षमता।
  • कोई नाम स्थान सम्मेलन - पैकेज का उपयोग करें।

जीडब्ल्यूटी टीम द्वारा दिए गए "कारणों" की एक विस्तृत सूची के लिए "कारणों" की एक विस्तृत सूची के लिए।

1

एक चीज जिसने मुझे एक जटिल जावास्क्रिप्ट कोड बेस पर संभालने में मदद की, जिसे मैंने विरासत में मिला था AOP package in dojo. था। इसका उपयोग करके, आप अपने कोड का एक अच्छी तरह से स्वरूपित निष्पादन पथ प्राप्त कर सकते हैं (जैसे फ़ायरबग की प्रोफाइल की तरह लेकिन विधियों को लागू करने के क्रम में एक सूची में)।

मुझे नहीं पता कि jQuery के पास कुछ समान है या नहीं, लेकिन यह देखने के लायक हो सकता है क्योंकि यह लॉग कोड के साथ आपके कोड बेस को कूड़े हुए से बाहर निकलता है जिसे आप हटा सकते हैं (या निर्भर नहीं हो सकता) को निकालना है।

एक बार जब आप जानते हैं कि चीजें कैसे काम कर रही हैं, तो आप यहां कुछ उत्कृष्ट युक्तियों का उपयोग करके इसे फिर से व्यवस्थित करने जा सकते हैं।

संबंधित मुद्दे