मान लें कि हमारे पास इस तरह की विधि है (C # में):
int GetCustomerCount()
{
// some code
}
अब कोड में हम इसे इस तरह कहते हैं:
var intStuff = GetCustomerCount();
// lots of code that culminates in adding a customer
intStuff++;
पूर्णांक हमें बहुत ज्यादा नहीं बताता है। मात्र तथ्य यह है कि कुछ एक int है हमें यह नहीं बताता कि इसमें क्या है। अब मान लेते हैं, इसके बजाय, हम इसे इस तरह कहते हैं:
var customerCount = GetCustomerCount();
// lots of code that culminates in adding a customer
customerCount++;
अब हम देख सकते हैं कि चर का उद्देश्य क्या है। अगर हमें पता है कि यह एक इंट है तो क्या फर्क पड़ेगा?
हालाँकि, हंगेरियन का मूल उद्देश्य आपको कुछ इस तरह से करना था:
var cCustomers = GetCustomerCount();
// lots of code that culminates in adding a customer
cCustomers++;
यह तब तक ठीक है जब तक आप जानते हैं कि c का मतलब क्या है । लेकिन आपके पास उपसर्गों की एक मानक तालिका होनी चाहिए, और सभी को उन्हें जानना होगा, और किसी भी नए लोगों को आपके कोड को समझने के लिए उन्हें सीखना होगा। जबकि customerCount
या countOfCustomers
पहली नज़र में बहुत स्पष्ट है।
हंगरी का Option Strict On
अस्तित्व में होने से पहले VB में कुछ उद्देश्य था, क्योंकि VB6 और पूर्व में (और VB .NET में Option Strict Off
) VB के साथ सामंजस्य होगा, इसलिए आप ऐसा कर सकते हैं:
Dim someText As String = "5"
customerCount = customerCount + someText
यह बुरा है, लेकिन संकलक आपको ऐसा नहीं बताएगा। इसलिए यदि आपने हंगेरियन का उपयोग किया है, तो कम से कम आपके पास कुछ संकेतक होगा जो हो रहा था:
Dim strSomeText As String = "5"
intCustomerCount = intCustomerCount + strSomeText // that doesn't look right!
.NET में, स्थैतिक टाइपिंग के साथ, यह आवश्यक नहीं है। और हंगेरियन का उपयोग अक्सर अच्छे नामकरण के विकल्प के रूप में किया जाता था। हंगेरियन को भूल जाओ और इसके बजाय अच्छे नाम चुनें।