Professional Refactoring Books for VB.NET and C# Developers
Two Wiley-published books on professional refactoring — in VB.NET and C# & ASP.NET editions — with real-world examples, downloadable code, and free sample chapters.
| Feature | VB.NET Edition | C# Edition |
|---|---|---|
| Title | Professional Refactoring in Visual Basic | Professional Refactoring in C# & ASP.NET |
| ISBN | 978-0-470-37254-8 | 978-0-470-43452-9 |
| Table of Contents | View ToC (VB.NET) | View ToC (C#) |
| Audience | VB.NET developers (legacy & modern apps) | C# and ASP.NET developers (all levels) |
| Source Code | Download ZIP |
View on GitHub
git clone https://github.com/darsen/refactoringin.net
|
Refactoring reshapes how code is written without changing what it does — so it stays cheap to extend and safe to review.
// hard to read, easy to get wrong
if (o.Total > 100 && o.Items.Count >= 3
&& !o.IsGift && c.IsActive)
{
o.ApplyFreeShipping();
}
// the rule has a name and one home
if (o.QualifiesForFreeShipping(c))
{
o.ApplyFreeShipping();
}
Same behavior — every test still green. The difference is that a human can read it now, and so can whoever changes it next.
Code reviews exist to catch errors before they cause harm. When code is too complex to meaningfully review, organizations face compliance, regulatory, and liability exposure. Refactoring closes the gap.
Refactoring—restructuring code without changing its behavior—can also be defined as a type of code transformation that concerns the human (programmer) but is of very little concern to a computer.
"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."
"This is a unique book. It specifically targets VB.NET developers. This is a refreshing change, as most specialized books for .NET target C#. By the end of the book, the reader has a healthy knowledge of various refactoring techniques and is able to start on his own refactorings."
"This book is a little old however there is not a lot of refactoring books that use C# and ASP.NET examples. The concepts are solid and it's a great little read even if a lot of it is just consuming already known information."
"This book takes you on a journey how to turn into a professional programmer. With the help of very clear examples the author explains why you don't want to program the 'quick and dirty way'. This book should be in every ASP.NET developer's book case."
"Reading this book really made me wish that anyone who just got done reading a dummies book would immediately read this book. I'm so sick of seeing procedural coding styles and massive code duplication. This isn't 1996!!"
"I would recommend the book Professional Refactoring in C# & ASP.NET by Danijel Arsenovski for any developer interested in refactoring code. Arsenovski gives clear and documented refactoring improvements for a variety of common code structures."
Join thousands of developers who have improved their code with these proven techniques.
Choose based on your primary development language. While core refactoring techniques are the same, each book provides language-specific examples and patterns. The VB.NET edition is ideal for developers working with legacy VB6 upgrades or modern VB.NET applications. The C# edition includes additional coverage of ASP.NET, LINQ, and C# 3.0+ features.
These books are designed for developers with basic programming knowledge in .NET. They progress from fundamental concepts to advanced techniques, making them suitable for junior developers looking to level up, as well as experienced developers wanting to formalize their refactoring practices. No prior refactoring experience is required.
These books address common development challenges including: • Identifying and fixing code smells in existing applications • Managing and reducing technical debt • Upgrading legacy code (especially VB6 to VB.NET) • Improving code maintainability and readability • Implementing design patterns effectively • Integrating unit testing with refactoring practices • Transforming prototype code into enterprise-level applications
Absolutely. The refactoring principles and patterns taught are timeless and apply to all versions of .NET, including .NET Core and .NET 5+. Reviewers specifically noted that these books are "not likely to become obsolete" because they focus on fundamental software design principles rather than version-specific features.
These books stand out for their: • Hands-on approach - build a real application from scratch • .NET-specific focus with platform-relevant examples • Coverage of both code-level and architectural refactoring • Real-world scenarios from enterprise banking systems • Step-by-step transformation guides • Integration of refactoring with unit testing and patterns
The books cover refactoring using Visual Studio, including free refactoring tools and extensions. The C# edition additionally covers Refactor! for ASP.NET, LINQ transformations, and HTML refactoring techniques. Both books emphasize tool-agnostic principles that work with any IDE.
Yes! While examples are in VB.NET or C#, reviewers noted that "same advices can be applied to C#, Java or any other OO language." The refactoring principles, code smell identification, and design patterns are universal to object-oriented programming.
Both books have received 5-star ratings on Amazon. Readers praise them as "clearly written, easy to follow and very practical," "great value," and "excellent reference on code refactoring." Professional developers recommend them to their peers for their practical, real-world approach.
Yes! The VB.NET edition includes downloadable source code (ZIP file), while the C# edition provides code via GitHub repository. All examples from the books are available to practice with and adapt for your own projects.
Danijel Arsenovski is a Microsoft MVP and MCSD-certified software architect who pioneered refactoring on the .NET platform. He developed these techniques while overhauling large banking systems and has extensive real-world experience in enterprise code transformation and legacy system modernization.