Hungarian notation is the practice of naming a variable such that it’s name indicates it’s type. For example, intRows tells you that the Rows variable is expected to be an integer. This was very useful for NotePad coder’s, but nowadays, the sophistication of programming IDE’s has made the practice largely obsolete. But I can tell you one area where Hungarian Notation still makes a ton of sense, and that is in the UI. Especially when dealing with the ASP.NET web controls. Frequently, you will end up with 3+ controls associated with a particular data point. For example, you are collecting First Name in a web form and it is a required field. In this case, you will end up with a minimum of 3 controls associated with that data point. A Label control, a TextbBox control, and a RequiredFieldValidator control. Now, if you follow the advice advocated by the FxCop folks and some other popular books, without correctly identifying the intended audience, you will blindly accept this and then go on your merry way creating cool names for your controls. But what makes perfect sense is to use Hungarian Notation in these scenario’s, which will result in lblFirstName, txtFirstName, and rfvFirstName. In this way, you will always know what to look for and you will have a consistent naming pattern that will follow throughout your application.

Oh, and if anyone ever says “I’m an architect, so the UI doesn’t concern me.” or some approximation thereof, then they aren’t an architect, they’re a glorified component developer swallowing whatever they read. Architects must keep the whole application in mind when designing the application and that includes the UI.