Framework Design Guidelines Class name prefixes
Continuing in the series of discussing topics from the Framework Design Guidelines…
DO NOT give class names a prefix (e.g., C).
KRZYSZTOF CWALINA The only prefix used is I for interfaces (as in
ICollection), but that is for historical reasons. In retrospect, I think it
would have been better to use regular type names. In majority of the cases
developers don’t care that something is an interface and not an abstract
class, for example.
BRAD ABRAMS On the other hand, the I prefix on interfaces is a clear
recognition of the influence of COM (and Java) on the .NET Framework.
COM popularized, even institutionalized, the notation that interfaces begin
with I. Although we discussed diverging from this historic pattern we
decided to carry forward the pattern as so many of our users were already
familiar with COM.
JEFFREY RICHTER Personally, I like the I prefix and I wish we had more
stuff like this. Little one-character prefixes go a long way toward keeping
code terse and yet descriptive. As I said earlier, I use prefixes for my private
type fields because I find this very useful.
One thing I love about the annotation format is that it gives us a chance to share a wide range of view points on the guidelines. While Krys, Jeff and I all agree that following the current guideline is a good idea, we have different views on what would (or would not) be better from one extreme (no prefixes) to the other extreme (lots of prefixes). Where do you land?
And what do you think of the format? Do you find this kind of color interesting or distracting?