हंगेरियन नोटेशन के अच्छे उदाहरण?

यह सवाल हंगेरियन नोटेशन के अच्छे उदाहरणों की तलाश करना है, इसलिए हम इन्हें एकत्रित कर सकते हैं।

Edit: I agree that Hungarian for types isn't that necessary, I'm hoping for more specific examples where it increases readability and maintainability, like Joel gives in his article (as per my answer).

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

21 उत्तर

हंगेरियन नोटेशन के अच्छे उदाहरणों के साथ पूछने में समस्या यह है कि हर किसी के पास अपना खुद का विचार होगा कि एक अच्छा उदाहरण कैसा दिखता है। मेरी व्यक्तिगत राय यह है कि सबसे अच्छा हंगेरियन नोटेशन कोई हंगरी नहीं है संकेतन । नोटेशन मूल रूप से अपने प्रकार के बजाय एक चर के इच्छित उपयोग को इंगित करने के लिए किया गया था, लेकिन आमतौर पर इसे टाइप नियंत्रण के लिए उपयोग किया जाता है, खासकर फॉर्म नियंत्रण के लिए (उदाहरण के लिए, txtFirstName टेक्स्ट के लिए किसी के पहले नाम के लिए बॉक्स।)। यह कोड को पठनीयता के संदर्भ में कम रखरखाव करता है (उदाहरण के लिए, "prepIn nounTerms prepOf nounReadability") और जब प्रकार को बदलने की आवश्यकता होती है, तब रीफैक्टरिंग (Win32 API में "lParams" हैं जो बदल गए हैं)।

आपको शायद इसका उपयोग न करने पर विचार करना चाहिए। उदाहरण:

  • strFirstName - this can just be firstName since it's obvious what it's for, the type isn't that important and should be obvious in this case. If not obvious, the IDE can help you with that.
  • txtFirstName - this can change to FirstNameTextBox or FirstName_TextBox. It reads better and you know it's a control and not just the text.
  • CAccount - C was used for class names in MFC but you really don't need it. Account is good enough. The uppercase name is the standard convention for types (and they only appear in specific places so they won't get confused with properties or methods)
  • ixArray (index to array) - ix is a bit obscure. Try arrayIndex.
  • usState (unsafe string for State) - looks like "U.S. State". Better go with state_UnsafeString or something. Maybe even wrap it in an UnsafeString class to at least make it type-safe.
37
जोड़ा
मैं मानता हूं कि हमें इसका इरादा उपयोग के लिए उपयोग करना चाहिए, और यही उम्मीद है कि लोग योगदान देंगे, क्योंकि मेरे आने वाले आवेदन के लिए मैं जाने से मानक बनाना चाहता हूं।
जोड़ा लेखक Lance Roberts, स्रोत
सभी ठोस उदाहरणों के लिए धन्यवाद।
जोड़ा लेखक Lance Roberts, स्रोत
यदि हंगेरियन नोटेशन मूल उद्देश्य इरादा दिखा रहा है के साथ लगातार उपयोग करता है, तो ठीक है। लेकिन एक मूर्खता स्थिरता युवा प्रोग्रामर के दिमाग का एक शौक है।
जोड़ा लेखक Mark Cidade, स्रोत
PHP में, सभी प्रकार वैरिएबल नाम से स्पष्ट नहीं हैं। बैंक सॉर्ट कोड $ BankSortCode के बारे में क्या? क्या यह "int" है, या "स्ट्रिंग" है क्योंकि इसमें हाइफ़न है? उपयोगकर्ता की ऊंचाई <कोड> $ UserHeight ? यदि यह मिमी में है, तो "int" हो सकता है, लेकिन यदि यह पैर/इंच में है और feet/inch , या "' शब्दों को समायोजित करने के लिए" स्ट्रिंग "है, या डॉट? मैं camelCase के साथ अंडरस्कोर का उपयोग करता हूं - $ int_BankSortCode , $ str_UserName , $ ary_TeamNames । आपका उत्तर वास्तव में पूरा करने वाला मान्य नहीं है सभी भ
जोड़ा लेखक James, स्रोत
एमएसडीएन में सामान्य नामकरण सम्मेलनों का उल्लेख करना उचित है ( msdn.microsoft.com/en -US/पुस्तकालय/ms229045.aspx )। वे कहते हैं, "हंगेरियन नोटेशन का प्रयोग न करें"।
जोड़ा लेखक Fernando, स्रोत
आप सभी प्रकार के तर्क कर सकते हैं जो कोडिंग प्रथाओं के कुछ लाभ अनिवार्य लगते हैं। चलो CamelCase लेते हैं ... हमें चर की शुरुआत को कम करने की आवश्यकता क्यों है? अगले शब्दों को अपरकेस क्यों करें? userName = UserName = उपयोगकर्ता नाम, वे सब पढ़ने और समझने के लिए बस इतना आसान हैं। जब आप कोडिंग सम्मेलनों का उपयोग कर रहे हों तो संगति महत्वपूर्ण है, यह सबसे महत्वपूर्ण बात है, और यह सुझाव दे रहा है कि हंगेरियन नोटेशन किसी भी तरह से बदतर है, यह सिर्फ यह अनदेखा कर रहा है कि सभी कोडिंग सम्मेलन वैध और उपयोगी हैं, यदि लगातार पालन किया जाता है।
जोड़ा लेखक Mike, स्रोत
@ gutofb7: आपका लिंक .NET के लिए है। यह एक .NET विशिष्ट प्रश्न नहीं है। हम सभी को यह समझना चाहिए कि यह वातावरण सभी परिवेशों और भाषाओं के लिए इस तर्क को लागू करने का प्रयास करने से पहले क्यों (सिफारिश "कोड परिभाषा विंडो") बनाया गया है। ऐसे स्थान हैं जहां सही ढंग से उपयोग किया गया ऐपहंगेरी एक आशीर्वाद है, और यहां वर्णित सभी अन्य विधियां (कक्षा पदानुक्रम, अतिरिक्त लंबे नामों का उपयोग करके, वहां एन्कोडिंग प्रकार की जानकारी का उपयोग) इससे कम है।
जोड़ा लेखक Rom, स्रोत
जोएल का मूल लेख पढ़ने के बाद यहां प्रस्तुत किया गया अंतिम बिंदु मेरी बात है जो मेरे दिमाग में आया। यह वर्ग पदानुक्रमों के उद्देश्यों में से एक है, और नामकरण सम्मेलनों का उपयोग करने के लिए यह इष्टतम नहीं है।
जोड़ा लेखक Nerdfest, स्रोत

जैसा कि अन्य हंगरी पदों में उल्लिखित क्लासिक आलेख, जोएल की साइट से है:

http://www.joelonsoftware.com/articles/Wrong.html

27
जोड़ा

पी

<पी>(for पीointer). Its पीretty much the only पीrefix I use. I think it adds a lot to a variable (eg that its a पीointer) and so should be treated a little more resपीectfully. <पी>Hungarian for datatyपीes is somewhat पीasse now IDEs can tell you what the tyपीe is (in only a few seconds hovering over the variable name), so its not so imपीortant. But treating a पीointer as if its data is not good, so you want to make sure it's obvious to the user what it is even if he makes assumपीtions he shouldn't when coding.
16
जोड़ा
मैं सहमत हूं, हालांकि मुझे अंत में _p डालना बेहतर लगता है। यह structs के पॉइंटर अवधारणाओं को पढ़ने के लिए इतना आसान बनाता है, उदा। some_struct_p-> some_member (और some_struct_p.some_member स्पष्ट रूप से गलत होगा (जोएल के आलेख अर्थ में))।
जोड़ा लेखक hlovdal, स्रोत
मेरे पास भी एक समान सवाल था, और मैं कुछ हद तक निष्कर्ष निकाला। यहां लिखें [शरद ऋतु 2014]।
जोड़ा लेखक Nick Alexeev, स्रोत
हाँ, यह एकमात्र समय है जब मैं हंगेरियन नोटेशन का उपयोग करने पर विचार करता हूं।
जोड़ा लेखक cheduardo, स्रोत

टी

चित्रित डेटा उस चर को दंडित करने के लिए अविश्वसनीय स्रोत से आने वाले सभी डेटा को उपसर्ग करें। किसी भी वास्तविक काम पर किए जाने से पहले सभी दंडित डेटा को साफ किया जाना चाहिए।

15
जोड़ा

भाषा विशिष्ट उपसर्ग का प्रयोग न करें।

हम प्रयोग करते हैं:

n: Number 
p: Percentage 1=100% (for interest rates etc)
c: Currency
s: String
d: date
e: enumeration
o: object (Customer oCustomer=new Customer();)
...

हम सभी भाषाओं के लिए एक ही सिस्टम का उपयोग करते हैं:

SQL
C
C#
Javascript
VB6
VB.net
...

यह एक जीवन बचतकर्ता है।

6
जोड़ा
पी पॉइंटर्स का समर्थन करने वाली भाषाओं में एक उपसर्ग के रूप में, लेकिन पॉइंटर का अर्थ नहीं है ... डरावना!
जोड़ा लेखक Greg Beech, स्रोत
हम पॉइंटर्स का अधिक उपयोग नहीं करते हैं (अगर कोई है)। काम के उपयोग की हमारी लाइन में बहुत से ब्याज दरें (प्रतिशत) और कोई पॉइंटर्स नहीं देखते हैं। विचार हालांकि क्रॉस भाषा उपसर्ग का उपयोग करना है। यह विशिष्ट उपसर्ग नहीं है जो गिनती है। अपना वाला उठाएं।
जोड़ा लेखक pkario, स्रोत
मैं वैरिएबल के लिए enSomething का उपयोग करता हूं जिसमें गणना होती है।
जोड़ा लेखक pkario, स्रोत
मैं कुछ भी नहीं बल्कि कुछ और कुछ का उपयोग करता हूं
जोड़ा लेखक Guy Cohen, स्रोत

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

5
जोड़ा

शैतान का वकील: हंगेरियन नोटेशन का सबसे अच्छा उदाहरण इसका उपयोग नहीं करना है। : डी

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

आप नोटेशन के साथ मुद्दों को हल करने में भी जा सकते हैं। यदि आप पॉइंटर के लिए पी का उपयोग करते हैं और पते के लिए क्या आप अपना वैरिएबल एपस्ट्रीट या paStreet कहते हैं? जब आपके पास स्थिरता नहीं होती है तो पठनीयता कम हो जाती है, और जब आपको उस क्रम को याद रखना होता है जिसे आपको नोटेशन लिखना है, तो आपको मूल्यवान दिमाग की जगह का उपयोग करना होगा।

5
जोड़ा
हंगेरियन नोटेशन का इस्तेमाल प्रकारों के लिए नहीं किया जाना चाहिए। आप वहां पूरी तरह से सही हैं। हालांकि, मूल उद्देश्य उन चीज़ों के लिए उपयोग करना था जो प्रकारों द्वारा निर्दिष्ट नहीं हैं, और वहां संभावित उपयोग हैं।
जोड़ा लेखक David Thornley, स्रोत
मैं मानता हूं कि आपको इसे सभी प्रकार के लिए उपयोग करने की आवश्यकता नहीं है, मैं जोएल जैसे अच्छे उदाहरणों की उम्मीद कर रहा हूं, जहां यह पठनीयता और उपयोगिता में जोड़ता है।
जोड़ा लेखक Lance Roberts, स्रोत

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

4
जोड़ा

मैं हंगेरियन नोटेशन के खिलाफ दृढ़ता से था जब तक कि मैंने वास्तव में इसके बारे में पढ़ना शुरू नहीं किया और इसके मूल उद्देश्य को समझने की कोशिश की जोल्स को "गलत" पोस्ट करने के बाद और "हंगरी नोटेशन को फिर से खोजना" लेख पढ़ने के बाद मैंने वास्तव में अपना दिमाग बदल दिया। सही हो गया मैं विश्वास करता हूं कि यह बेहद शक्तिशाली होना चाहिए।

Wrong by Joel Spolsky
http://www.joelonsoftware.com/articles/Wrong.html

Rediscovering Hungarian Notation
http://codingthriller.blogspot.com/2007/11/rediscovering-hungarian-notation.html

मुझे विश्वास है कि ज्यादातर नायसेर्स ने कभी भी असली कोशिश नहीं की है और इसे वास्तव में समझ में नहीं आता है। मुझे एक असली परियोजना में इसे आजमाने की इच्छा होगी।

4
जोड़ा

हंगेरियन नोटेशन (ऊंट आवरण, जैसा कि मैंने इसे सीखा) अमूल्य है जब आप एक सॉफ्टवेयर प्रोजेक्ट प्राप्त कर रहे हैं।

हां, आप अपने आईडीई के साथ एक चर पर 'होवर' कर सकते हैं और यह पता लगा सकते हैं कि यह कौन सी कक्षा है, लेकिन यदि आप कोड की कई हज़ार लाइनों के माध्यम से पेजिंग कर रहे हैं तो आप उन कुछ सेकंड के लिए रुकना नहीं चाहते हैं - हर .. .. एक बार....

याद रखें - आप अकेले या आपकी टीम के लिए कोड नहीं लिख रहे हैं। आप इसे उस व्यक्ति के लिए भी लिख रहे हैं जिसने सड़क को 2-5 साल तक इस कोड को उठाया है और इसे बढ़ाया है।

4
जोड़ा
ऊंट केसिंग और हंगेरियन नोटेशन अलग-अलग चीजें हैं। ऊंट आवरण बस यह कर रहा है यह आपके नाम (प्रत्येक शब्द पूंजी पत्र से शुरू होता है)। हंगेरियन नोटेशन में नाम के लिए कुछ प्रकार की आईडी तैयार करना शामिल है।
जोड़ा लेखक Herms, स्रोत
यह केवल तभी उपयोगी होता है जब आप उपसर्गों के लिए एक किंवदंती शामिल करते हैं अन्यथा वे भावी पाठक के लिए बहुत ही गुप्त हो सकते हैं।
जोड़ा लेखक Mark Cidade, स्रोत
दिलचस्प। मैं मूल रूप से धारणा के तहत था कि वे वही थे क्योंकि हम हमेशा एक ही उपसर्ग (str, int, dbl, obj, dat, आदि) का उपयोग करते थे और यह दो अलग-अलग स्थानों में था।
जोड़ा लेखक David, स्रोत

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

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

3
जोड़ा

मुझे लगता है कि एकमात्र सहायक बिंदु इंटरफ़ेस नियंत्रण, txtUsername, txtPassword, ddlBirthMonth घोषित करते समय होता है। यह सही नहीं है, लेकिन यह बड़े रूपों/परियोजनाओं पर मदद करता है।

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

2
जोड़ा

The name of the variable should describe what it is. Good variable naming makes Hungarian notation useless.

However, sometimes you'd use Hungarian notation in addition to good variable naming. m_numObjects has two "prefixes:" m_ and num. m_ indicates the scope: it's a data member tied to this. num indicates what the value is.

जब मैं "अच्छा" कोड पढ़ता हूं, तब भी मुझे बाधा महसूस नहीं होती है, भले ही इसमें कुछ "हंगरी" हो। दाएं: मैंने कोड पढ़ा, मैं इसे क्लिक नहीं करता हूं। (वास्तव में, कोडिंग, या किसी भी वूडू प्रोग्रामिंग-विशिष्ट लुकअप सुविधाओं के दौरान, मैं शायद ही कभी अपने माउस का उपयोग करता हूं।)

I am slowed when I read things like m_ubScale (yes, I'm looking at you, Liran!), as I have to look at its usage (no comments!) to find out what it scales (if at all?) and it's datatype (which happens to be a fixed-point char). A better name would be m_scaleFactor or m_zoomFactor, with a comment as a fixed-point number, or even a typedef. (In fact, a typedef would be useful, as there are several other members of several classes which use the same fixed-point format. However, some don't, but are still labeled m_ubWhatever! Confusing, to say the least.)

मुझे लगता है कि हंगेरियन वैरिएबल नाम के लिए एक योजक होना था, सूचना के प्रतिस्थापन नहीं। इसके अलावा, कई बार हंगेरियन नोटेशन वैरिएबल की पठनीयता, बाइट्स को बर्बाद करने और पढ़ने के समय को कुछ भी नहीं जोड़ता है।

बस मेरे 2 ¢।

2
जोड़ा

पॉइंटर के लिए 'पी' का उपयोग करने के अलावा, मुझे यह संकेत करने के लिए 'सीबी' और 'सीएच' का उपयोग करने का विचार पसंद है कि बफर आकार पैरामीटर (या चर) बाइट्स या कैरेक्टर गिनती की गिनती है (मैंने यह भी देखा है - शायद ही कभी - 'सीई' तत्वों की गिनती को इंगित करने के लिए प्रयोग किया जाता है)। तो संदेश देने के बजाय, उपसर्ग का उपयोग या इरादा व्यक्त करता है।

मैं मानता हूं, मैं उपसर्ग का उपयोग लगातार उतना ही नहीं कर सकता जितना संभवतः मुझे चाहिए, लेकिन मुझे विचार पसंद है।

2
जोड़ा

मैं मानता हूं कि हंगेरियन नोटेशन अब विशेष रूप से उपयोगी नहीं है। मैंने सोचा कि इसका मूल इरादा डेटाटाइप, बल्कि इकाई प्रकार को इंगित करना था। ग्राहकों, कर्मचारियों और उपयोगकर्ता के नामों को शामिल करने वाले कोड अनुभाग में, उदाहरण के लिए, आप स्थानीय स्ट्रिंग वेरिएबल्स cusName, empName और usrName नाम दे सकते हैं। इससे समान ध्वनि वाले चर नामों में अंतर करने में मदद मिलेगी। इकाइयों के लिए एक ही उपसर्ग का उपयोग पूरे आवेदन में किया जाएगा। हालांकि, जब ओओ का उपयोग किया जाता है, और आप वस्तुओं से निपट रहे हैं, तो वे उपसर्ग ग्राहक नाम में अनावश्यक हैं। नाम, कर्मचारी नाम और उपयोगकर्ता नाम।

2
जोड़ा
वहाँ उत्कृष्ट बिंदु।
जोड़ा लेखक strager, स्रोत
न केवल डेटाटाइप भी गुंजाइश .... :)
जोड़ा लेखक Guy Cohen, स्रोत

एक बहुत पुराना सवाल है, लेकिन यहां कुछ "हंगरी" उपसर्ग हैं जो मैं नियमित रूप से उपयोग करता हूं:

मेरे

     

स्थानीय चर के लिए, उस इलाके को अलग करने के लिए जहां नाम वैश्विक संदर्भ में समझ में आ सकता है। यदि आप myFoo देखते हैं, तो यह केवल इस फ़ंक्शन में उपयोग किया जाता है, भले ही हम कहीं और फ़ूस के साथ करते हैं।

myStart = GetTime();
doComplicatedOperations();
print (GetTime() - myStart);

तथा

tmp

     

लूप या बहु-चरण संचालन में मानों की अस्थायी प्रतियों के लिए। यदि आप एक दूसरे से दो पंक्तियों से अधिक दो tmpFoo चर देखते हैं, तो वे लगभग निश्चित रूप से असंबंधित हैं।

tmpX = X; 
tmpY = Y;
X = someCalc(tmpX, tmpY);
Y = otherCalc(tmpX, tmpY);

तथाsometimes old तथाnew in for similar reasons to tmp, usually in longer loops or functions.

2
जोड़ा

मीटर

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

2
जोड़ा

मैं केवल एक सूचक के लिए पी का उपयोग करता हूं, और यही वह है। और यह केवल तभी है जब मैं सी ++ में हूं। सी # में मैं किसी भी हंगेरी नोटेशन का उपयोग नहीं करता हूं। जैसे

MyClass myClass;
MyClass* pMyClass;

बस इतना ही :)

Edit: Oh, I just realised that's a lie. I use "m_" for member variables too. e.g.

class
{
private:
bool m_myVar;
}
1
जोड़ा

खैर, मैं इसे केवल विंडो नियंत्रण चर के साथ उपयोग करता हूं। मैं उन्हें खोजने के लिए btn_, txt_, lbl_ आदि का उपयोग करता हूं। मुझे इसके प्रकार (btn_ आदि) टाइप करके नियंत्रण के नाम को देखने में भी मदद मिलती है।

1
जोड़ा

मैं अपने आप को 'w' अर्थ 'काम' का उपयोग करके 'temp' या 'tmp' के बजाय उपसर्ग के रूप में उपयोग करता हूं, स्थानीय चर के लिए जो सिर्फ जॉकी डेटा के आसपास हैं, जैसे:

Public Function ArrayFromDJRange(rangename As Range, slots As Integer) As Variant

' this function copies a Disjoint Range of specified size into a Variant Array 7/8/09 ljr

Dim j As Integer
Dim wArray As Variant
Dim rCell As Range

wArray = rangename.Value ' to initialize the working Array
ReDim wArray(0, slots - 1) ' set to size of range
j = 0

For Each rCell In rangename
    wArray(0, j) = rCell.Value
    j = j + 1
Next rCell

ArrayFromDJRange = wArray

End Function
0
जोड़ा

हंगेरी नोटेशन का एक अच्छा उदाहरण जैसी कोई चीज़ नहीं है। बस इसका इस्तेमाल न करें। यहां तक ​​कि यदि आप कमजोर टाइप की गई भाषा का उपयोग नहीं कर रहे हैं। आप खुश रहेंगे।

लेकिन अगर आपको इसका उपयोग न करने के कुछ कारणों की ज़रूरत है, तो यह मेरा पसंदीदा है, जिसे इस महान लिंक से निकाला गया है :

हंगेरियन नोटेशन में एक फॉलोऑन चाल "एक चर के प्रकार को बदलती है लेकिन परिवर्तनीय नाम अपरिवर्तित छोड़ दें"। Win16 WndProc (HWND HW, UINT WMsg, WPARAM WParam, LPARAM LParam) में WNDProc (HWND HW, WORD WMsg, WORD WParam, LONG LParam) से माइग्रेशन के साथ यह लगभग हमेशा विंडोज़ ऐप्स में किया जाता है: जहां डब्ल्यू वैल्यू संकेत कि वे शब्द हैं, लेकिन वे वास्तव में लंबे समय तक संदर्भित हैं। Win64 माइग्रेशन के साथ इस दृष्टिकोण का वास्तविक मूल्य स्पष्ट होता है, जब पैरामीटर 64 बिट चौड़े होंगे, लेकिन पुराना "डब्ल्यू" और "एल" उपसर्ग हमेशा के लिए रहेगा।

0
जोड़ा