Continuing in the series of discussing topics from the Framework Design Guidelines


Expert from 3.2.5 Word Choice


DO NOT use Hungarian notation.


KRZYSZTOF CWALINA There have always been both positive and negative

effects of using the Hungarian naming convention and they still exist

today. Positives include better readability (if used correctly). Negatives

include cost of maintenance, confusion if maintenance was not done properly,

and finally, Hungarian makes the API more cryptic (less approachable)

to some developers. In the world of procedural languages (e.g., C) and the

separation of the System APIs for advanced developers from framework

libraries for a much wider developer group, the positives seemed to be

greater than the negatives. Today, with System APIs designed to be

approachable to more developers, and with object-oriented languages, the

trade-off seems to be pulling in the other direction. OO encapsulation

brings variable declaration and usage points closer together, OO style

favors short, well-factored methods, and abstractions often make the exact

type less important or even meaningless.


Keep in mind, this guideline is focused on PUBLICLY exposed APIs… so it is ok (even good?) to use Hungarian in your implementation details, but don’t pollute your APIs with them.