Q&A: Microsoft MVP surveys Visual Studio 2010's debugging, test tools
This is just another big release, just like 2008 was in comparison to 2005. I think [Microsoft] is continuing to raise the bar and really listen to the development community and give us what we're asking for. What new Visual Studio 2010 feature is going to get positive attention from developers?
They'll probably be most interested in is the IntelliTrace feature. I think over time as developers use this and get used to it and incorporate it into their debugging and diagnostic work, they're really going to find that it's one of the most important tools in their tool belt. What other VS 2010 tools are you excited about?
There are other static code analysis, code metrics and profiling tools that are incorporated that are going to be very beneficial. And then, going alongside that, there are also enhanced versions of the testing tools that we've been using for a couple of years now that take advantage of coded UI (user interface) test and automated testing. So all of these [tools]are going to be very important. To be honest, it's pretty tough to put your finger on that one thing that developers are going to be most interested in, because this is such a big release. What modeling and diagramming enhancements has Microsoft added to Visual Studio 2010?
Now we have the five most common UML diagrams that can live alongside the code and be generated from the code and vice versa. That's a really big step to have those diagrams in sync. One of the things that I've used, starting with the beta and moving up through the release candidates, is the ability to generate a sequence diagram from a code segment. This allows you to right click on a method and then generate a sequence diagram that will show that method, what that method calls and so on. So you get a view of exactly what your code is doing and how your application is transversing through itself. This is going to really become beneficial when you have a brownfield project that is already underway and you want a new developer to be added to the team and ramp up on this very quickly. In the past ,what we would do is just go through the code ourselves, read through it, trace through the methods, maybe run the application, set some break points and just play with it to see how things work…what caused what. But this is something that's very time intensive, and that's going to take a lot of time to get comfortable with the app. What we can do now is kind of have an on-boarding package for somebody and generate a lot of sequence diagrams that show what the code is doing and what it is calling. Then somebody can take a look at these diagrams, which are pictures -- and pictures really are worth a thousand words -- and go through and really look at what's calling what; [like] what the code paths are through the application. So you can get ramped up on it much more quickly and more easily understand it. Performance was an issue on some of the release candidates. Is there any word on whether these issues have been resolved?
I remember the very first Beta that I tested, which was not a public release for 2010. Comparing that to the last release candidate and then now to RTM, the performance is stellar. I would definitely say that there are no performance issues right now with the RTM release. And really most of that was fixed with the release candidate and then just tweaked and made even better right before the release. But yeah, the performance issues are all resolved.