Professional Refactoring in Visual Basic

by Danijel Arsenovski

[ Buy at Amazon ]

Visual Basic programmers are often considered pariah of programming community and have become synonym for quickly delivered but poorly written code. With this book, Arsenovski embarks on a monumental task of bringing this “lost tribe” back to the mainstream and even forefront of programming community. An excellent source for any .NET team that wishes to embark on agile path, this book teaches principal agile programming practices:

  • Refactoring
  • Unit Testing
  • Test Driven Development

It also covers some more advanced topics like Refactoring to Patterns and Object-Oriented Design Principles while finding space to rehash Object-Oriented fundamentals. One of more interesting sections is one dedicated to Dependency Injection pattern showing importance and far-reaching consequences of this pattern for modern modular architectures. The last chapter deals with complex issue of legacy VB code migration, an important but painful issue for many enterprises that build their applications on COM (pre .NET) architecture.

What others have to say:

In this book, the author will address refactoring topics from the envisioning of their benefits to the current ways of putting refactoring into practice. Danijel Arsenovski has been involved in refactoring techniques, both in the .NET and Java platforms, since their earliest versions. He has delivered speeches at several conferences, given talks, and held workshops on this subject, and driven successful refactoring projects in the banking industry. As one of the leaders in development tools, Microsoft has been committed to delivering best-of-breed resources to the people who deal daily with coding activities and software projects as a whole. Through its undisputably winning Visual Studio IDE, Microsoft makes refactoring an out-of-box facility just a right-click away from your code. In these pages, Danijel will show you how refactoring may be practiced in Visual Basic as easily as you do copy-paste or any other editing activities! I dare tell you, dear reader, that you have one of the most proven and fundamental guides on these techniques. Enjoy reading this book!

Diego Dagum Technical Evangelist ar Microsoft, The Architecture Journal Editor in Chief, MSDN Magazine Editorial Director

Arsenovski has done a great job with this book. It is clearly written, easy to follow and very practical. A great one to keep on the shelf and reference as needed. The free tools that he covers in the book are a bonus! They really help to get you applying what you’ve learned quickly. I highly recommend this book for any .NET developer, not just those who use Visual Basic.

Jason Down

Both the VB.NET and C# & ASP.NET Refactoring books are great. Each has it’s own unique sections, while at the same time they cover the same refactorings, smells, and Object-Oriented Design Principles in detail. I have not seen the weak static typing to strong dynamic typing explained so well and in such detail anywhere else. The information in this chapter teaches the developer how to use VB.NET to program a quick prototype or industrial strength applications. He goes into tremendous detail on how to properly use the Option Strict, Option Explicit, and Option Infer statements. I was so impressed with the VB.NET version of the book that I bought the C# and ASP.NET version of the book. The C# and ASP.NET version of the book contains two chapters on refactoring ASP.NET code. Both books have chapters on LINQ and other language enhancements, Refactoring to Patterns, Advanced Object-Oriented Concepts, Code Organization on a Large Scale, and multiple chapters on refactoring and smells. Throughout each book the author touches on Object-Oriented Design Principles. Both books have a list of all the refactorings, smells, and Object-Oriented Design Principles page numbers so they are easy to find. The author points out that one of the motivating factors in writing these books was to give us the refactoring techniques in the languages we work in. I agree with his motivation, all the other books I have read used Java as the language and although I learned a ton from them, each language has its own subtle differences. The author’s style of writing make reading these books a pleasure. They are very well organized. Both come with well organized and very usable code downloads. Both of these books are highly recommended. They definitely make learning refactoring and Object-Oriented Concepts and Design Principles very enjoyable.

T. Anderson