Powiedzmy, że mamy taką metodę (w C #):
int GetCustomerCount()
{
// some code
}
Teraz w kodzie nazywamy to tak:
var intStuff = GetCustomerCount();
// lots of code that culminates in adding a customer
intStuff++;
Int nie mówi nam bardzo wiele. Sam fakt, że coś jest intem, nie mówi nam, co w tym jest. Załóżmy teraz, że nazywamy to tak:
var customerCount = GetCustomerCount();
// lots of code that culminates in adding a customer
customerCount++;
Teraz możemy zobaczyć, jaki jest cel zmiennej. Czy miałoby to znaczenie, gdybyśmy wiedzieli, że to int?
Pierwotnym celem Węgier było jednak zrobienie czegoś takiego:
var cCustomers = GetCustomerCount();
// lots of code that culminates in adding a customer
cCustomers++;
Jest to w porządku, o ile wiesz, co oznacza c . Ale musiałbyś mieć standardową tabelę prefiksów i wszyscy musieliby je znać, a każda nowa osoba musiałaby się ich nauczyć, aby zrozumieć Twój kod. Natomiast customerCount
lub countOfCustomers
jest dość oczywiste na pierwszy rzut oka.
Węgierski miał jakiś cel w VB, zanim Option Strict On
istniał, ponieważ w VB6 i wcześniejszych (i w VB .NET z Option Strict Off
) VB wymuszałoby typy, więc możesz to zrobić:
Dim someText As String = "5"
customerCount = customerCount + someText
To źle, ale kompilator by tego nie powiedział. Więc jeśli użyjesz węgierskiego, przynajmniej będziesz miał pewien wskaźnik tego, co się dzieje:
Dim strSomeText As String = "5"
intCustomerCount = intCustomerCount + strSomeText // that doesn't look right!
W .NET, przy wpisywaniu statycznym, nie jest to konieczne. A węgierski był zbyt często używany jako substytut dobrego imienia. Zapomnij o węgierskim i wybierz dobre imię.