A Persnickety Developer reviews the Framework Design Guidelines

I recently ran across this review for the Framework Design Guidelines.  A couple of interesting quotes:


The fun part of this book was reading all the annotations that were given throughout that sometimes revealed insider mistakes made and I got a sense in some areas of some "I told them so and now they agree I was right" attitude.  I related well to many of the stories as I've been there in my own mistakes.


This is exactly the attitude we had when we wrote and edited the annotations.  We really wanted them to come across as a developer-to-developer kind of conversation.  I’ll admit that some of them are a little raw, but that is the feeling we wanted to convey...



it will save much time on endless debating over creating standards documents


In the end, this is the reason Krys and I wrote the book.  As you may know, we both did it as part of our jobs here at Microsoft so we personally do not get the royalties from the book.  We noticed that we spent millions of Microsoft’s dollars on arguing about these guidelines, why don’t save the rest of the industry that kind of money by simply writing down what we hope well become a definitive reference so everyone else doesn’t have to argue about these things 😉



Of course this nice thing about a book of guidelines is that anyone can find one to disagree with  and this reviewer does not disappoint ;-).  I think we are not too far off on the Marker Interface issue however... While it could be clearer in the book, the summary of my position is that if you need runtime access (type safety, etc) use an interface, otherwise use an attribute. 


Comments (2)

  1. Andrew Webb says:

    Strongly agree that attributes are the way to go in .NET, and not marker interfaces.  But I don’t think that programmers naturally reach for an attribute, custom or not.  Somehow it’s not like writing code or "doing programming".  I often forget about the attributes option; it’s something I’ve got to force myself to appreciate and use more.

  2. If attributes were easier to get to I’m sure they’d be used alot more. Right now, plucking an attribute off a type requires some crappy looking code. Maybe some c# keywords could help here.

Skip to main content