Download Microsoft
Visual Studio 2010

Microsoft Visual Studio 2010

Denver Visual Studio User Group   www.DenverVisualStudio.net
"developers sharing and networking for our road ahead"

 
 
 Review Details

Denver VS UG - Home    

     Also see Reviews and How To Review.
   
 
Practical Code Generation in .NET: Covering Visual Studio 2005, 2008, and 2010
Author(s):  Peter Vogel (Microsoft MVP)
Published: 2010, ISBN 978-0-321-60678-5, 486 pages
Publisher (more . . .):  Addison Wesley Professional, Informit
 
   
 
 Review
 

 

 Five out of Five Stars
  Reviewed: July, 2010
  Reviewer: Fernando Cardenas
 
       Utter the words “code generation” in a room of developers and everyone will have an opinion about these two words. Today, code generation is a daily part of what developers do, probably without realizing it. In fact, Visual Studio has been generating code since its 2002 debut and without the code generation features in it, our lives would all be a bit more tedious in terms of creating project files, WSDL, mapping classes, configuration files, and the myriad files that are auto-generated (code generated, if you will) for us. In fact, the Microsoft .NET framework has had code generation in the core framework since version 1.0 with the introduction of the CodeDOM. If you are interested in ending many repetitive tasks in your developer workflow, you should continue reading.

     That’s all well and good, but how does anyone _USE_ custom code generation to make their lives easier? Enter “Practical Code Generation in .NET” by Peter Vogel. This book is a hands-on, well-written, _practical_ book on generating code (mostly) inside of Visual Studio versions 2005, 2008, and 2010. Peter makes it clear that he has used code generation successfully in his programming career and continues to do so in a successful manner using the wisdom that he shares in this book. I have been working heavily with code generation since 2003 and consider myself an expert in generating _entire_ working applications from visual and textual models/DSLs, and I find this book _the_ reference on how to generate code inside (and a little outside with the CodeDOM and T4) all recent versions of Visual Studio. If you have any inklings of generating code inside Visual Studio, you should run, not walk, to the nearest bookstore or web browser (you may even be in front of one now) and purchase this book. It will save you days if not weeks of effort in navigating the complexities of code generation in Visual Studio. Peter laces some pretty amazing tidbits of practical information through the text on topics like Visual Studio-specific file locking when generating software that could waste hours of your time debugging root causes. Tips like that can only be learned from many hours of serious debugging, and Peter is happy to share his solutions with the reader in a way that is relevant and easy to digest.

     “Practical Code Generation in .NET” first introduces you to a few different ways to generate code given specific scenarios (see the table of contents for more details on the specifics). He outlines each code generation scenario and walks through a specific, practical example that is easy to follow and easy on the brain. Then, the last 150 pages are dedicated to practical uses of code generation with easy-to-digest samples that walk you through the process in a way that preserves your dignity as a human being. Please note that this book is not about building a code generation system to rule them all. It is really about creating bits in Visual Studio that help you in your everyday tasks as a developer. I found his writing style of using specific examples to illustrate code generation very effective.

     One small, little quibble with the book: I think that it should be renamed to “Super Practical Code Generation Mostly in Visual Studio Versions 2005, 2008, and 2010 from a Visual Studio, Code Generation Ninja.” And that is why I am not in marketing.

     Overall, a great read and a must-have guide if you are serious about code generation inside Visual Studio.


Fernando Cardenas is the Chief Architect at Customer Solutions Group (CSG), a Microsoft Surface Strategic Partner. Using the power of the web and Microsoft Surface, CSG brings together a unified online and in-store shopping experience for major retailers. In Fernando's spare time, he works on generating entire working applications from visual models in a technology- and architecture-agnostic way that is easy for developers to use at AlphaTypeIt.
   
  Top
  Copyright © 2000 - 2010 Denver Visual Studio User Group.
All Rights Reserved. Please see Notice