At the last edmonton user group meeting I finally won something (besides a t-shirt :D). I won a copy of Framework Design Guidelines by Krzysztof Cwalina and Brad Abrams.

    I had heard a lot of good things about this book from others but really had no motivation to buy it. The title is way to exciting and if I leave it out girls might be breaking down my door just to touch it (the book you sickos!). I must say that I was pleasantly supprised with the book and definately think it is worth having a read for developers of all levels.

    The book has lots of good practices in it for more than just framework developers. I think the name is poor and it should have been called code/api design guidelines or something to that effect. I found that a lot of the lessons they talked about I had already learned but there were lots of other things I had not thought about for how it would affect future consumers of my code.

    One of the things I really liked is that this book was written and contributed to by people who wrote the .NET framework. There are little comments on almost every page that are tips from these people and several stories about good design items that were put in the framework and some regrets about things that made it in that were not very useable. Many good practices that were shown in the book were show in context of the framework classes that already exist. This was really good to show a proof that everyone was familiar with.

What I really liked about the book was there were some tips that I read the title of and thought "Why is that a bad practice? I do that!" and then after reading the consequences for every one of those I thought "That is a bad practice! I am not going to do that anymore". So even though most of the tips I had learned from experience the book helped me avoid some future mistakes and also confirm my existing design decisions from people that have a lot more consumers than my code ever will.