2011-11-05 15 views
7

गणित अंतर्निर्मित प्रतीक पूंजी अक्षरों से शुरू होते हैं। इसलिए यह पूंजी अक्षरों के साथ उपयोगकर्ता द्वारा निर्मित प्रतीक नाम शुरू नहीं करने के लिए अभ्यास स्वीकार किया जाता है।नामित पैटर्न के लिए कैपिटल अक्षरों

इस प्रतिबंध को वाक्यविन्यास के अन्य पहलुओं तक कितना दूर किया जाना चाहिए? क्या अच्छा अभ्यास मांग करता है कि SetDelayed या RuleDelayed अभिव्यक्ति (जहां ऐसे नाम स्थानीयकृत हैं) में नामित पैटर्न के लिए पूंजी पत्र का उपयोग नहीं किया जाए?

मुझे लगता है कि राजधानियां एक उपयोगी तरीके से नामस्थान का विस्तार करती हैं और उदाहरण के लिए लोअरकेस एल और 1 के बीच दृष्टि से अंतर करती हैं। वे पाठ्यपुस्तक फैशन में तर्कों का नाम भी देने की अनुमति देते हैं।

यदि भविष्य के संस्करणों में नए प्रतीक पेश किए जाते हैं, तो नामित पैटर को इन्हें अलग करना चाहिए, और मौजूदा कोड को तोड़ना नहीं चाहिए।

एक चोर अस्पष्टता ऐसे N और D के रूप में मौजूदा नाम का इस्तेमाल कर रहे हैं है, लेकिन मुझे लगता है कि दोनों का उपयोग के संदर्भ और फ़्रंटएंड वाक्य रचना पर प्रकाश डाला इस को कम लग रहा है।

+0

+1 लेकिन 1 लगता है 1 होवरकेस एल 1 से अलग होना आसान है यदि आपके नाम पर्याप्त वर्णनात्मक हैं। इसके अलावा, नामस्थान विस्तार उपयोग को देखभाल के साथ माना जाना चाहिए: एक symbo1 myHome नामकरण और दूसरा MyHome एक c1assica1 बग स्टू रेसिपी है ... –

+0

@belisarius क्योंकि मुझे terse कोडिंग के लिए प्यार है, मेरे अधिकांश पैटर्न नाम एक ही चरित्र हैं, इसलिए 'एल' और' 1' काफी समान हैं। इसी प्रकार, यह संदिग्ध है कि मैं प्रतीकों को 'एफ [ए_, ए_]: = ...' में भ्रमित कर दूंगा। वैश्विक रूप से प्रयुक्त मैं आपके साथ सहमत हूं, और मैं अपने वैश्विक नामों को और अधिक वर्बोज़ बनाता हूं, लेकिन इस विशिष्ट मामले में मैं सोच रहा हूं कि क्या मैं अपना अभ्यास बदल सकता हूं। –

+0

प्रतिबिंब पर "अधिकांश" सटीक नहीं है, लेकिन कई एकल अक्षर हैं, खासकर छोटे, अच्छी तरह से encapsulated प्रतिस्थापन नियमों में। [यह उत्तर] देखें (http://stackoverflow.com/questions/5644801/tweaking-style-attributes-of-existing-graphics-objects-in-mathematica/5645482#5645482); मैं उस कोड में 'एल: रेखा [__]' से 'L_Line' को बदलना चाहता हूं। –

उत्तर

2

यह एक स्वीकार्य अभ्यास है जिसे मैं स्वीकार नहीं करता!

मैं व्यक्तिगत या तृतीय पक्ष के उपयोग के लिए संकुल का जिक्र कर रहा हूं। आम तौर पर मैं चाहता हूं कि मेरा पूरा काम आदर्श (डब्लूआरआई) गुणवत्ता, देखो और महसूस से जितना संभव हो उतना अलग हो। इसमें डब्ल्यूआरआई द्वारा उपयोग किए जाने वाले सभी पूंजीकरण सम्मेलनों के साथ मेरे आदेशों के लिए लंबे वर्णनात्मक नाम शामिल हैं।

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

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

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

पैटर्न चर के संबंध में, मैं कोई राजधानियों के साथ सार्थक, अधिकतर छोटे, पैटर्न नाम देने की कोशिश करता हूं, इसलिए उपयोगकर्ता मेरे पैकेज कमांड में किस तरह के इनपुट की अपेक्षा की जाती है, Ctrl/Cmd-K टेम्पलेट को देखकर अनुमान लगा सकता है।

+0

मैं कहूंगा कि यह उपयोगी है कि इंटरैक्टिव वर्क/नोटबुक के दौरान पूंजीकृत नामों का उपयोग न करें, ताकि * अंतर्निहित * टकराव * या * पैकेज प्रतीकों के साथ संघर्ष से बचें। यदि पैकेज प्रतीक पूंजीकृत होते हैं जो उपयोगकर्ता को इसमें सहायता करेंगे, तो उसे बाधित न करें। तो हाँ, मैं पूंजीकृत प्रतीक नाम रखने के लिए पैकेज भी पसंद करता हूं। – Szabolcs

+1

रोमन मेडर के अनुसार, संकुल में सार्वजनिक कार्यों के लिए पूंजीकृत नामों का उपयोग * * एक स्वीकार्य अभ्यास है। पैकेजों के लिए, पूंजीकृत नामों में कोई समस्या नहीं होती है, क्योंकि पूर्ण (लंबा) नाम अलग होता है, क्योंकि संदर्भ भिन्न होते हैं ('' सिस्टम ''' बनाम जो भी पैकेज का संदर्भ है), इसलिए चमक खुद को छाया के उदाहरण के रूप में प्रकट करती है। छाया से बचने से एक अलग समस्या है। –

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