In his blog, Modeling as a Productivity Enhancer in Visual Studio Team System, Barry raises excellent points regarding the areas where the Class Designer can really help developer productivity in the code generation scenarios. I couldn’t agree more.
However, class designer being a V1 product in Visual Studio, we had to make some hard choices on scenarios we want to focus on and successfully deliver them with high quality.
Firstly, we wanted to make sure that class diagrams created are made relevant throughout the development cycle – too often we have heard complaints from developers using UML tools that while the class diagrams they create are great to do initial design, they often go out of date once actual development begins.
Secondly, we wanted to make sure that creating and using class diagrams are easy and approachable to developers. The diagrams should speak the language the developers are familiar with – the language they program in.
John Stallo, the Program Manager for Class Designer elaborates on these goals in his blog entry “A picture is worth a thousand words” (http://blogs.msdn.com/classdesigner/archive/2005/02/25/380023.aspx).
With the main focus on these two goals, we had to cut back on some of the cool productivity features you list above in terms of initial class design. As you correctly point out, there are some types of edits that are better performed in the code editor and some that are intuitive to perform in the class designer. We picked a few of them – interface implementation, overriding members, etc. The Class Designer team will continue to blog highlighting more of these features in the upcoming weeks in its blog.
Integrating support for code snippets is probably one of the features we should have added support for but missed. It was something we discussed but we didn’t push hard enough to get it in. The same goes for grouping members based on interface implementation, code regions (although this was cut because of some technical difficulties).
What other productivity features would you like more? We have already gotten several suggestions from people like Daniel Moth, Tony Loton, and many others. If you have the time please log bugs for your suggestions here: http://lab.msdn.microsoft.com/productfeedback/
This will enable us to collect data on what features customers request the most.
Class Designer Team.