Giả sử chúng ta có một phương thức như thế này (trong C #):
int GetCustomerCount()
{
// some code
}
Bây giờ trong mã chúng tôi gọi nó như thế này:
var intStuff = GetCustomerCount();
// lots of code that culminates in adding a customer
intStuff++;
Các int không cho chúng ta biết nhiều. Thực tế là một cái gì đó là một int không cho chúng ta biết những gì trong đó. Bây giờ, giả sử, thay vào đó, chúng tôi gọi nó như thế này:
var customerCount = GetCustomerCount();
// lots of code that culminates in adding a customer
customerCount++;
Bây giờ chúng ta có thể thấy mục đích của biến là gì. Nó có quan trọng nếu chúng ta biết đó là một int?
Tuy nhiên, mục đích ban đầu của tiếng Hungary là để bạn làm điều gì đó như thế này:
var cCustomers = GetCustomerCount();
// lots of code that culminates in adding a customer
cCustomers++;
Điều này là tốt miễn là bạn biết những gì c là viết tắt của. Nhưng bạn phải có một bảng tiền tố tiêu chuẩn và mọi người sẽ phải biết chúng, và bất kỳ người mới nào cũng sẽ phải học chúng để hiểu mã của bạn. Trong khi đó customerCount
hoặc countOfCustomers
là khá rõ ràng thoạt nhìn.
Tiếng Hungary có một số mục đích trong VB trước khi Option Strict On
tồn tại, bởi vì trong VB6 và trước đó (và trong VB .NET với Option Strict Off
) VB sẽ ép buộc các loại, vì vậy bạn có thể làm điều này:
Dim someText As String = "5"
customerCount = customerCount + someText
Điều này là xấu, nhưng trình biên dịch sẽ không nói với bạn như vậy. Vì vậy, nếu bạn đã sử dụng tiếng Hungary, ít nhất bạn sẽ có một số chỉ báo về những gì đang xảy ra:
Dim strSomeText As String = "5"
intCustomerCount = intCustomerCount + strSomeText // that doesn't look right!
Trong .NET, với kiểu gõ tĩnh, điều này là không cần thiết. Và tiếng Hungary quá thường được sử dụng để thay thế cho việc đặt tên tốt. Hãy quên tiếng Hungary và chọn tên tốt thay thế.