Professional Refactoring in C# & ASP.NET
Buy Rights Online Buy Rights

Rights Contact Login For More Details

More About This Title Professional Refactoring in C# & ASP.NET

English

Danijel Arsenovski is an author, software architect, and agile coach. Currently, he works as Product and Solutions Architect at Excelsys S.A., designing web 2.0 banking solutions for numerous clients in the region. He started experimenting with refactoring while overhauling a huge banking system, and he hasn’t lost interest in refactoring ever since. He is known for evangelizing about refactoring on the .NET platform. Arsenovski is a contributing author for Visual Studio Magazine, .NET Developers Journal, and Visual Systems Journal. He holds the Microsoft Certified Solution Developer (MCSD) certification, and was named Microsoft MVP in 2005. You can reach him at [email protected], and feel free to drop by at his blog at http://blog.refactoring.net.

English

Introduction.

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.

Summary.

Chapter 2: A First Taste of Refactoring.

Sample Application: Calories Calculator.

Refactoring in Action.

Implementing the Persistence Functionality.

Calories Calculator, Refactored Version.

Summary.

Chapter 3: Assembling a Refactoring Toolkit.

Using an Automated Refactoring Tool.

Unit-Testing Basics: The Testing Harness.

About Version Control.

Summary.

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.

Summary.

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.

Summary.

Chapter 6: From Problem Domain to Code: Closing the Gap.

Understanding the Problem Domain.

Published and Public Interfaces.

Summary.

Chapter 7: The Method Extraction Remedy for Duplicated Code.

Encapsulating Code and Hiding the Details.

DecomposingMethods.

InliningMethods.

The Duplicated Code Smell.

Extract Method and Replace Magic Literal Refactoring in the Rent-a-Wheels Application.

Summary.

Chapter 8: Method Consolidation and Extraction Techniques.

Dealing with Temporary Variables.

Dealing with Long and Nested Conditionals.

Method Reorganization and Rent-a-Wheels.

Summary.

Chapter 9: Discovering Objects.

A Brief Object-Oriented Programming Overview.

Designing Classes.

Discovering Hidden Classes.

Summary.

Chapter 10: Advanced Object-Oriented Concepts and Related Refactorings.

Inheritance, Polymorphism, and Genericity.

Inheritance Abuse and Refactoring Solutions.

Making Use of Generics.

Summary.

Chapter 11: Code Organization on a Large Scale.

Namespaces.

Assemblies

C# Project File Structure Organization.

Namespace Organization and Windows Forms Inheritance in Rent-a-Wheels.

Summary.

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.

Summary.

Chapter 13: LINQ and Other C# 3.0 Enhancements.

Type Inference for Local Variables.

Summary.

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.

Summary.

Chapter 15: Refactoring ASP.NET Applications.

Refactoring HTML.

Refactoring ASP.NET Code.

Rent-a-Wheels and ASP.NET Refactorings.

Summary.

Appendix A: Rent-a-Wheels Prototype Internals and Intricacies.

Hand Over Button Click Event-Handling Code.

Display Button Click Event-Handling Routine.

Summary.

Appendix B: Unleash Refactor! for ASP.NET.

Index.

loading