Professional Refactoring in C# & ASP.NET
C# and ASP.NET developers become more productive and efficient by utilizing the power of refactoring to improve the design of existing code
- This unique book is the only one on the market covering this high-demand topic–using refactoring tools and techniques to fix bad code; this hands-on book teaches advanced level C# and ASP.NET programmers exactly how to apply valuable refactoring techniques
- Walks readers through building prototype applications from scratch, then refactors them step-by-step into an enterprise-level application while clearly explaining different code and refactoring transformations; most of the resulting transformations readers will see are based on real-world scenarios that come up frequently in businesses
- Covers classic refactoring and code smells, refactoring process and unit testing, object-oriented theory and design patterns, refactoring to patterns, and HTML and ASP.NET specific refactoring
Danijel Arsenovski (Santiago, Chile), Microsoft MVP, is a senior developer and consultant and the author of Professional Refactoring in Visual Basic. He holds Microsoft's Solution Developer certification, is C# certified, and is often a featured speaker at Microsoft's technical conferences.
Table of Contents
Chapter 1: Refactoring: What’s All the Fuss About?
A Quick Refactoring Overview.
The Refactoring Process: A Closer Look.
No Programmer Is an Island.
C# and Refactoring.
Chapter 2: A First Taste of Refactoring.
Sample Application: Calories Calculator.
Refactoring in Action.
Implementing the Persistence Functionality.
Calories Calculator, Refactored Version.
Chapter 3: Assembling a Refactoring Toolkit.
Using an Automated Refactoring Tool.
Unit-Testing Basics: The Testing Harness.
About Version Control.
Chapter 4: Application Prototype: Rent-a-Wheels.
Interviewing the Client.
Taking the Initial Steps in the Rent-a-Wheels Project.
Making the Prototype Work.
Fast and Furious Approach to Programming.
Chapter 5: Basic Hygiene.
Eliminating Dead Code.
Reducing the Scope and Access Level of Unduly Exposed Elements.
Using Explicit Imports.
Removing Unused Assembly References.
Basic Hygiene in the Rent-a-Wheels Application.
Chapter 6: From Problem Domain to Code: Closing the Gap.
Understanding the Problem Domain.
Published and Public Interfaces.
Chapter 7: The Method Extraction Remedy for Duplicated Code.
Encapsulating Code and Hiding the Details.
The Duplicated Code Smell.
Extract Method and Replace Magic Literal Refactoring in the Rent-a-Wheels Application.
Chapter 8: Method Consolidation and Extraction Techniques.
Dealing with Temporary Variables.
Dealing with Long and Nested Conditionals.
Method Reorganization and Rent-a-Wheels.
Chapter 9: Discovering Objects.
A Brief Object-Oriented Programming Overview.
Discovering Hidden Classes.
Chapter 10: Advanced Object-Oriented Concepts and Related Refactorings.
Inheritance, Polymorphism, and Genericity.
Inheritance Abuse and Refactoring Solutions.
Making Use of Generics.
Chapter 11: Code Organization on a Large Scale.
C# Project File Structure Organization.
Namespace Organization and Windows Forms Inheritance in Rent-a-Wheels.
Chapter 12: Refactoring to Patterns.
Design Patterns: What’s All the Fuss About?
Example Design Pattern: Abstract Factory.
Dependency Injection Pattern.
Refactoring to Patterns and the Rent-a-Wheels Application.
Chapter 13: LINQ and Other C# 3.0 Enhancements.
Type Inference for Local Variables.
Chapter 14: A Short History of the Web for Developers and ASP.NET Tooling.
Refactor! for ASP.NET.
HTML History and Its Legacy.
Catching Up with theWeb.
Chapter 15: Refactoring ASP.NET Applications.
Refactoring ASP.NET Code.
Rent-a-Wheels and ASP.NET Refactorings.
Appendix A: Rent-a-Wheels Prototype Internals and Intricacies.
Hand Over Button Click Event-Handling Code.
Display Button Click Event-Handling Routine.
Appendix B: Unleash Refactor! for ASP.NET.
Sign up now »
- FTTechnical Business AnalystNSW
- FTJob Title: Mac Systems/ Enterprise Systems EngineerNZ
- FTFlash / ActionScript Developer - ContractNSW
- FTOS Web Applications DeveloperNSW
- FTLead Software EngineerSA
- FTSenior Python DeveloperNSW
- FTR&D EngineerSA
- FT.NET - Sitecore Developer - Melbourne - PermNSW
- FTQuality ManagerSA
Messaging and collaboration platforms have emerged as mission critical applications, consuming a large portion of IT spending for organisations. The rich features in these applications have significantly changed the messaging ...
The nature of work has changed fundamentally and forever and it continues to evolve rapidly. Geographic distance and ...
"Suggesting that people's "purpose is to get information to flow through the ..."
Why change management doesn’t work
"Darn those pesky laws that get in the way of commercial exploitation ..."
Larry Page wants to see your medical records
"Instead of partitioning the device between corporate and personal data, another approach ..."
Dual-Persona Smartphones Not a BYOD Panacea
"Well that's a nice back-handed compliment isn't it? So now, finally, my ..."
After two-year hiatus, EFF accepts bitcoin donations again
"Actually, both Mobile App developers and CIOs should be blamed for it. ..."
CIOs struggle to deliver timely mobile business apps: survey
- CITRIX SYNERGY ’13: Look beyond Cloud infrastructure, says Liang
- CITRIX SYNERGY ’13: Christiancen highlights the need for collaboration
- CITRIX SYNERGY ’13: Devices will change how people work, says Duursma
- IN PICTURES: Citrix Solutions expo (49 photos)
- IN PICTURES: Citrix parties one more night with Maroon 5 ( +57 photos)
- Analytics and personalisation drive leading marketer behaviour: Report
- Innovation and big data take centre stage during CMO panel
- Twitter targets second screen interaction with Amplify advertising partnerships
- Facebook talks hyper-targeting, analytics and cross-platform at AANA event
- Tapping into social experience: Tourism Australia