2009-10-08 8 views
13

मुझे पता है कि इस प्रश्न का कोई जवाब नहीं है, लेकिन मुझे यह जानकर उत्सुकता है कि अन्य लोग क्या सोचते हैं।जावास्क्रिप्ट ऑब्जेक्ट्स के लिए पूंजीकरण सम्मेलन

जावा की तरह एक भाषा में, यह एक सम्मेलन राजधानी पत्र के साथ कक्षाएं शुरू करने के लिए है, और छोटे अक्षरों के साथ वस्तुओं। लेकिन जावास्क्रिप्ट के बारे में क्या, सब कुछ एक वस्तु है?

मैंने देखा है कुछ लोगों को केवल वस्तुओं है कि वर्ग के रूप में इलाज कर रहे हैं उसका लाभ उठाने का सुझाव; यानी एक प्रोटोटाइप के साथ कार्य ऑब्जेक्ट्स, जिसका उद्देश्य नया ऑपरेटर के साथ उपयोग किया जाना है। उन वस्तुओं के उदाहरण कम हो जाएगा।

यह तार्किक लगता है। लेकिन आप "वैश्विक वस्तुओं" के बारे में क्या करते हैं, जहां केवल एक उदाहरण है? अधिकांश लोगों को इन (उदाहरण के लिए, मठ या Ext.History) फायदा उठाने में लग रहे हैं। यह सहजता से सही महसूस करता है, लेकिन इसे लगातार नियम के साथ उचित ठहराना मुश्किल है।

और क्या वस्तुओं कि नामस्थान के रूप में उपयोग किया जाता है के बारे में? ये सभी नक्शे पर होने लगते हैं: YUI, Ext.util, jQuery, आदि

अपने दिल को छूने वाले धार्मिक विचारों के लिए धर्मनिरपेक्ष rationalizations प्रदान करें।

उत्तर

27

आप इस Google JavaScript Style Guide

सामान्य तौर पर पालन कर सकते हैं, functionNamesLikeThis उपयोग करते हैं, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis, और SYMBOLIC_CONSTANTS_LIKE_THIS।

+0

आपका लिंक 'filenameslikethis.js' जैसे फ़ाइल नामों को सहेजने की सिफारिश करता है। क्या आप जानते हैं कि सब कुछ कम मामले में क्यों है? मुझे लगता है कि ऐसा लगता है कि इसे पढ़ना मुश्किल है। – ayjay

+1

लिखा है "... और' -' या '_' को छोड़कर कोई विराम चिह्न नहीं होना चाहिए (' ''' '''' को प्राथमिकता दें)। इसलिए यह 'फ़ाइल-नाम-जैसे-this.js' –

+0

की भी सिफारिश करता है यदि एक चर में कक्षा है? 'var ConstructorClass = classMap ['className']' या 'var constructorClass = classMap ['className']'? –

1

मैं कार्यों कि "वर्गों" (एयर उद्धरण का इस्तेमाल किया) है कि बदले में बाद में नए ऑपरेटर का उपयोग instanciated किया जाएगा परिभाषित के पूंजीकरण के साथ सहमत हैं।

लेकिन यह है। वैश्विक वस्तुएं सिर्फ वैश्विक हैं। उन्हें नाम दें जो आप चाहते हैं।

मैं यह सुनिश्चित करता हूं कि वे अद्वितीय और वर्णनात्मक हैं कि बाद में किसी अन्य डेवलपर द्वारा गलती से ओवरराइट नहीं किया जाएगा।

0

सम्मेलन यह है कि कोई सम्मेलन नहीं है। जो भी आप चाहते हैं, बस सुसंगत रहें। मैं जावा शैली का अनुसरण और उपेक्षा जो कुछ भी सम्मेलन पुस्तकालय (dojo, Ext, YUI, $, आदि) आप का उपयोग करने की पीछा कर रहा है ऐसा सुझाव देते हैं।