So in fact refactoring is cullprit in VB. The article shows exactly the
crapy thinking of developers who use tools who needs a wide range of
posibilities to refactor,
I'll disagree here a bit. Refactoring isn't always a sign of poor
programming initially. Almost all projects will have the spec changed
at some point or a feature added / removed, which makes it impossible
for the program to be written correctly the first time. As a matter of
fact, this was one of the reasons that practices such as OOP, class
based programming, agile, XP, etc were created - to deal with change
instead of avoiding change. We try to program for the changes so that
when they come, we're ready for them.
Another reason that refactoring is actually a good sign of progress is
that you never understand the program completely, every minute you
work on it your knowledge increases. Therefore I firmly believe, along
with many others, that a program can never be correct (read:
production worthy) the first pass. There is always some "gotcha" that
was missed, or some piece of code that becomes deprecated, or some
other aspect that was missed.
With the above two assertions, and the benefits of refactoring tools
to TDD, I urge people to look into refactoring software, both for
large scale refactoring and micro-refactoring (such as renaming
private variables). While Visual Studio has many of these functions
built in (more so in C#) I personally feel that they could be greatly
improved. One terrific piece of software I swear by is CodeRush /
Refactor! Pro by DevExpress, and I encourage everyone to try it out.
CodeRush isn't the only one out there either, another by JetBrains is
Resharper. After working with IDE productivity tools like CodeRush and
Resharper, it's extremely difficult to imagine working without them.
Their sites are below:
http://devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/
http://devexpress.com/Products/Visual_Studio_Add-in/Refactoring/
http://www.jetbrains.com/resharper/index.html
Thanks,
Seth Rowe [MVP]
http://sethrowe.blogspot.com/