wpf - textBoxEmployeeName vs कर्मचारीNameTextBox




winforms naming-conventions (11)

आप कौन से नामकरण सम्मेलन का उपयोग करते हैं और क्यों?

मुझे कर्मचारीनामटिकास्टबॉक्स का उपयोग करना पसंद है, क्योंकि:

  • यह अंग्रेजी भाषा के परिप्रेक्ष्य से अधिक प्राकृतिक लगता है।
  • मुझे लगता है कि Intellisense के साथ देखना आसान है
  • सम्मेलन घटनाओं (माउसक्लिकइवेंट, माउसक्लिकइवेंटहैंडलर) और निर्भरता गुणों (विज़ीलिटीप्रॉपर्टी) के लिए इस्तेमाल किए गए सम्मेलन के समान है।

नोट: मैं संक्षेप (जैसे "टीबी") की बजाय पूर्ण नाम का उपयोग कर रहा हूं, क्योंकि यह एमएस के नामकरण सम्मेलनों के अनुसार है जो संक्षिप्ताक्षरों का प्रयोग करने से बचने के लिए कहते हैं।

http://msdn.microsoft.com/en-us/library/ms229045.aspx


क्यों नहीं कर्मचारी का नाम? गंभीर रूप से नियंत्रण प्रकार नाम के एक हिस्से के रूप में कैसे होता है जब यह आपके आईडीई द्वारा पहले से प्रदान किया जाता है कोड को बनाए रखने में आसान प्रदान करने में सहायता करता है? वैलेटियन और क्लास नेमिंग के लिए ओटलेंस के नियमों पर विचार करें

कश्मीर


पहला नाम (टेक्स्ट बॉक्स अॉॉपरियरनाम) में नियंत्रण प्रकार का उपयोग करने का एकमात्र कारण है Intellisense (सभी टेक्स्टबॉक्स नियंत्रण तब एक साथ दिखाई देंगे) के साथ आसान समूह बनाना। उस से परे, वास्तव में उस तरह का उपयोग करने के लिए कोई लाभ नहीं है। मुझे दूसरे तरीके (कर्मचारीनामटेक्स्टबॉक्स) को अधिक पठनीय और उस तरह से व्यक्तिगत रूप से पसंद है, लेकिन बहुत से लोग अभी भी नियंत्रण प्रकार के साथ पहले चलेंगे, क्योंकि यह एक लंबा समय के लिए किया गया था।


मैं किसी भी रूप में बफ़र संकेतन की सिफारिश नहीं करता। textbox अस्थायी नाम हंगर के संकेतन का एक रूप है। इसलिए मैं कर्मचारीनामटिकास्टबॉक्स के उपयोग का समर्थन करता हूं

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

अपने वेरिएबल नामों को टाइप करने की कोशिश करने के बारे में भूलना आसान है, और सिर्फ उन्हें नाम दें। आपके पास एक कारण के लिए समय-समय पर जाँच करने के लिए intellisense और संकलन है, इसका उपयोग क्यों नहीं करें


अपने चर नामकरण इतना महत्वपूर्ण है मोटे ग्राहक दृश्य सम्मेलनों को छड़ी के छोटे-छोर दिए जाने लगते हैं यहां मेरा विचार है:

  1. अपने दृश्य पर वास्तविक व्यावसायिक मूल्यों के लिए कभी भी गेटर्स और सेटर्स न लगाएं। ऐसा मत करो:

    public Name EmployeeName { get; set; }
  2. एक कर्मचारी नाम प्राप्त करने या सेट करने के लिए, आपका राज्यपूर्ण कोड स्पष्ट रूप से एक विधि कॉल करेगा। ऐसा इस तरह से करें क्योंकि यह परियोजनाएं दर्शाती है कि राज्य को इस दृश्य पर संग्रहीत नहीं किया गया है, लेकिन दृश्य से प्राप्त या ट्रांसकॉर्फ़ किया जा सकता है:

    public void SetEmployeeName(Name employeeName);
    public Name GetEmployeeName();
  3. हंगरी के संकेत बेवकूफी है यह भाषाओं में उपयोगी थी <= वीबी 6 क्योंकि वे चर प्रकारों के देर से बंधन का इस्तेमाल करते थे। आप को स्वयं की रक्षा करनी थी क्योंकि प्रकार बेमेल रनटाइम की त्रुटियां थीं, समय संकलन नहीं करते थे। केवल txtEmployeeName उपयोग txtEmployeeName यदि आप भी strEmployeeName और intEmployeeNumber उपयोग करेंगे

  4. यदि पैटर्न का नाम prefixing आपके नामकरण सम्मेलन के अनुरूप नहीं है, यह नियंत्रण प्रकार (जो एक पैटर्न का प्रतिनिधित्व करता है) के लिए मत करो यदि आप commandNameFormatting नहीं बनाते हैं (नाम commandNameFormatting बजाय), तो एक textBoxEmployeeName बनाएँ न करें।

  5. संभवत: आपको किसी प्रकार के प्रत्यय की आवश्यकता होगी, क्योंकि कर्मचारी नाम चर के उद्देश्य का पर्याप्त रूप से वर्णन नहीं करता है। एक कर्मचारी नाम टेक्स्ट बॉक्स का उद्देश्य इनपुट प्राप्त करना है आप इसे ' EmployeeNameTextBox कह सकते हैं, अगर आपको आरामदायक बनाता है, लेकिन इसे EmployeNameInput को कॉल करना बेहतर हो सकता है इसमें अतिरिक्त बोनस है, अगर आपके पास लेबल है, तो यह स्पष्ट है कि EmployeeNamePrompt (या EmployeeNameLabel लेबल) पाठ बॉक्स के समान नहीं है। वर्णनात्मक प्रत्यय के कुछ प्रकार के बिना, आपके पास अंतर करने का एक अच्छा तरीका नहीं है



जैसा कि मैंने इसे पढ़ा है, एक आलेख में वर्णित आलेख में आलेख (अर्थात् संसाधनों के नाम ), अंत में नियंत्रण प्रकार का उपयोग करता है, FileMenu (और ArgumentException यह ArgumentException हालांकि यह एक नियंत्रण नहीं है)।

मेरी निजी राय यह है कि यह भी अधिक पठनीय है, क्योंकि यह कर्मचारी का नाम पाठ बॉक्स है और इसलिए कर्मचारीनाम नाम का नाम होना चाहिए, जैसे "फ़ाइल मेनू" शब्द उस क्रम में पढ़ा जाता है। (हालांकि मैं संक्षेप के लिए "टेक्स्टबॉक्स" के लिए "संपादित करें" का विकल्प देता हूं - मुझे शायद उस आदत को उनके नाम के लिए पर्यावरण नाम के साथ नियंत्रण नामों का उपयोग करने के लिए किक करना चाहिए।)


मैंने दोनों txtEmployeeName और employeeNameTextbox उपयोग किया है बताए गए कई पदों की तरह, यह समूहिंग के लिए उपयोगी है। एक प्रकार के नियंत्रण समूहों (txtEmployeeName, txtManagerName), जबकि अन्य एक साथ अलग-अलग संबंधित कन्ट्रोल (कर्मचारीनामटैक्सबॉक्स, कर्मचारीफ़ोनटैक्सबॉक्स, मैनेजरनामटेक्स्टबॉक्स, मैनेजरफ़ोनटेक्स्टबॉक्स) कर सकते हैं। कई मामलों में मैं बाद में अधिक उपयोगी पाते हैं जबकि कोडिंग


मैं एक तीसरा विकल्प प्रस्तावित करता हूं: uiEmployeName कारण:

  1. यह हंगेरियाई नहीं है आप जिस नोटेशन का उल्लेख करते हैं, वह सिर्फ हंगेरियन के फ्लेवर हैं
  2. यदि आप किसी कर्मचारी का नाम टेक्स्ट बॉक्स को सूचीबद्घ में बदलते हैं तो आपको अपने चर का नाम बदलने की आवश्यकता नहीं है
  3. ऑब्जेक्ट के प्रकार को सम्मिलित किए बिना सब कुछ अच्छी तरह से intellisense में समूहीकृत किया गया है
  4. ऑब्जेक्ट का नाम इसके फ़ंक्शन का पालन करता है। यह उपयोगकर्ता का सामना करना पड़ रहा ऑब्जेक्ट है जो कर्मचारी का नाम प्राप्त करता है

WPF- विशिष्ट उत्तर: बिल्कुल नहीं नाम।

क्यूं कर? क्योंकि अगर आप WPF का उपयोग कर विकसित कर रहे हैं तो आपको अपने नियंत्रणों का नामकरण नहीं करना चाहिए। यदि आप हैं, तो आप कुछ गलत कर रहे हैं

WinForms के लिए आवश्यक नियंत्रणों का नाम होना चाहिए क्योंकि इसकी डेटा बाध्यकारी बहुत कमजोर थी। WPF यह सब हल करता है: नियंत्रण ही अपने डेटा और व्यवहार को निर्दिष्ट कर सकता है, इसलिए इसे नाम देने की कोई आवश्यकता नहीं है।


मुझे लगता है कि माइक्रोसॉफ्ट के ऑब्जेक्ट नेमिंग कन्वेंशन को सी # के साथ-साथ विजुअल बेसिक में अपने नियंत्रण के नाम देने के लिए बेहतर है।


VB में मुझे वास्तव में [ControlName] _ [ControlType] के साथ जाना पसंद है I मुझे याद नहीं है कि मैंने यह कैसे करना शुरू कर दिया, लेकिन मुझे लगता है क्योंकि यह तर्कसंगत क्रम जैसा लगता है यह थोड़ा कोडिंग को सरल करता है क्योंकि कोड सुझाव नियंत्रण प्रकार के बजाय नियंत्रण विवरण के आधार पर समूहबद्ध होते हैं।

मैं नाम सी # में उसी तरीके को नियंत्रित करता है जब तक कि मैं सी # के लिए सील का वरीयता का पालन करता हूं Case: [controlName] _ [controlType]

मैं अपने प्रकार के नियंत्रणों के लिए अपना संक्षिप्त रूप भी इस्तेमाल करता हूं, हालांकि वे अस्पष्ट नहीं हैं I

उदाहरण:

VB: Save_Btn और NewFile_MItem (मेनू आइटम)

C #: save_btn और newFile_mItem

यह मेरे लिए काम करता है, लेकिन निश्चित रूप से हर प्रोग्रामर की अपनी शैली है





hungarian-notation