Refactoring Tools for Visual Basic
< Continued from page 3
Aivosto Project Analyzer
This is a much more professional refactoring system (at four to thirteen times the price) offered by the toolmaking software company Aivosto. They have a variety of utilities that can help you write better code faster and they promise that their systems work on VB 6, VBA, and VB.NET. Although the cost is a lot more than CodeShine ($75 versus $300 to $990, depending on the version), you get at least that much more in function.
And it's a high-quality product. It runs fast and doesn't crash.
Martin Fowler writes that Project Analyzer is "not strictly a refactoring tool" and I agree. The reason is that it doesn't actually change anything. It just tells you a lot about the code that will help you figure out whether it needs changing and what to change. But then you have to do the actual coding.
There are so many features in Project Analyzer that it's not practical to try to cover them in an article like this. To give you an idea about what it does, the illustration below shows you the VB 6 TicTacToe program in Project Analyzer. The GamePlay procedure is selected and the Project Graph display shows exactly how this procedure is called and what procedures it calls.
--------
Click Here to display the illustration
Click the Back button on your browser to return
--------
The reports on VB.NET are just as fast and revealing ... if a tad confusing sometimes. For example, Project Analyzer doesn't understand that form1.vb isn't actually dead code (unused code).
But the reports and screens tell you volumes about your program that Visual Studio doesn't.
Refactor! for Visual Basic .NET 2005
If you search for refactoring tools at Microsoft, this is the one that you'll find. It's actually a third party tool from another tool software company, Developer Express, Inc. The cynical among us might wonder whether Microsoft promotes it because it doesn't support VB 6. But the price is right -- it's free. (If you own the full product, Visual Studio .NET 2005. It doesn't work with Express Edition.)
Refactor! is another tool that installs as an integral part of Visual Studio. After the installation, your initial impression is, "Hey! Nothing changed! Where's the tool?" But then, like Intellisense or Code Snippets, you start to notice it. When you select a block of code, you may notice a new icon that appears in the display. If you select it, you can then see Refactor!'s graphics and options. Like Visual Studio itself, it takes a little getting used to. The big blue arrow in the illustration below is hard to miss.
--------
Click Here to display the illustration
Click the Back button on your browser to return
--------
The weakness of this approach is that you have to select the right block of code to see Refactor!'s suggestions. I found myself taking more time by selecting some likely code just to see if Refactor! had any suggestions. It would be nice if it had a global "analyze" function ... but it doesn't.
For an extra $100 (currently), you can get the "Pro" version which supports two other languages and includes seventy-five refactoring techniques. To see what a "technique" is, see the example in the discussion of CodeShine earlier. Refactor!'s techniques are like that, but there are a lot more of them.
Aivosto Project Analyzer
This is a much more professional refactoring system (at four to thirteen times the price) offered by the toolmaking software company Aivosto. They have a variety of utilities that can help you write better code faster and they promise that their systems work on VB 6, VBA, and VB.NET. Although the cost is a lot more than CodeShine ($75 versus $300 to $990, depending on the version), you get at least that much more in function.
And it's a high-quality product. It runs fast and doesn't crash.
Martin Fowler writes that Project Analyzer is "not strictly a refactoring tool" and I agree. The reason is that it doesn't actually change anything. It just tells you a lot about the code that will help you figure out whether it needs changing and what to change. But then you have to do the actual coding.
There are so many features in Project Analyzer that it's not practical to try to cover them in an article like this. To give you an idea about what it does, the illustration below shows you the VB 6 TicTacToe program in Project Analyzer. The GamePlay procedure is selected and the Project Graph display shows exactly how this procedure is called and what procedures it calls.
--------
Click Here to display the illustration
Click the Back button on your browser to return
--------
The reports on VB.NET are just as fast and revealing ... if a tad confusing sometimes. For example, Project Analyzer doesn't understand that form1.vb isn't actually dead code (unused code).
But the reports and screens tell you volumes about your program that Visual Studio doesn't.
Refactor! for Visual Basic .NET 2005
If you search for refactoring tools at Microsoft, this is the one that you'll find. It's actually a third party tool from another tool software company, Developer Express, Inc. The cynical among us might wonder whether Microsoft promotes it because it doesn't support VB 6. But the price is right -- it's free. (If you own the full product, Visual Studio .NET 2005. It doesn't work with Express Edition.)
Refactor! is another tool that installs as an integral part of Visual Studio. After the installation, your initial impression is, "Hey! Nothing changed! Where's the tool?" But then, like Intellisense or Code Snippets, you start to notice it. When you select a block of code, you may notice a new icon that appears in the display. If you select it, you can then see Refactor!'s graphics and options. Like Visual Studio itself, it takes a little getting used to. The big blue arrow in the illustration below is hard to miss.
--------
Click Here to display the illustration
Click the Back button on your browser to return
--------
The weakness of this approach is that you have to select the right block of code to see Refactor!'s suggestions. I found myself taking more time by selecting some likely code just to see if Refactor! had any suggestions. It would be nice if it had a global "analyze" function ... but it doesn't.
For an extra $100 (currently), you can get the "Pro" version which supports two other languages and includes seventy-five refactoring techniques. To see what a "technique" is, see the example in the discussion of CodeShine earlier. Refactor!'s techniques are like that, but there are a lot more of them.
Source...