C #에서 이와 같은 방법이 있다고 가정 해 봅시다.
int GetCustomerCount()
{
// some code
}
이제 코드에서 다음과 같이 호출합니다.
var intStuff = GetCustomerCount();
// lots of code that culminates in adding a customer
intStuff++;
INT는 우리에게 매우 말하지 않습니다. 무언가가 int라는 단순한 사실은 그 안에 무엇이 들어 있는지 알려주지 않습니다. 이제 대신 다음과 같이 호출한다고 가정 해 봅시다.
var customerCount = GetCustomerCount();
// lots of code that culminates in adding a customer
customerCount++;
이제 변수의 목적이 무엇인지 알 수 있습니다. 우리가 그것이 int인지 아는 것이 중요할까요?
그러나 헝가리어의 원래 목적은 다음과 같이하는 것입니다.
var cCustomers = GetCustomerCount();
// lots of code that culminates in adding a customer
cCustomers++;
c 가 무엇을 의미 하는지 아는 한 괜찮 습니다. 그러나 표준 접두사 테이블이 있어야하고 모든 사람이 접두사를 알아야하며 새로운 사람들은 코드를 이해하기 위해이를 알아야합니다. 반면 customerCount
또는 countOfCustomers
첫눈에 매우 분명하다.
Option Strict On
VB6과 이전 (및 VB .NET이있는 VB Option Strict Off
)에서 VB가 유형을 강제 하기 때문에 헝가리어는 VB에 어떤 목적이 있었 으므로 다음과 같이 할 수 있습니다.
Dim someText As String = "5"
customerCount = customerCount + someText
이것은 나쁘지만 컴파일러는 그렇게 말하지 않습니다. 따라서 헝가리어를 사용했다면 적어도 무슨 일이 있었는지에 대한 지표가있을 것입니다.
Dim strSomeText As String = "5"
intCustomerCount = intCustomerCount + strSomeText // that doesn't look right!
정적 입력을 사용하는 .NET에서는 필요하지 않습니다. 그리고 헝가리는 좋은 이름을 대신하기 위해 너무 자주 사용되었습니다. 헝가리어를 잊고 대신 좋은 이름을 선택하십시오.