Refactoring

by Charlie Calvert


Overview

Recommended Reading

Online Resources

History

Why we Refactor

Unit Testing

Basic Principles

Benefits

Bad practices and Code Smells

 

Demo

What is Good Design?

Simplicity

Refactoring as a Way of Learning Code

Design Issues

Extreme Programming

Agile Modeling

Patterns

Demo UML

Why Now?

Modern IDEs

The Danger of Refactoring

Schedules: The Time Issue

The Database Problem

The Bad Code Problem

Types of Refactorings

Fowler outlines seven different types of refactorings:

Demo SlickEdit

Bad Smells

Here is the list of bad smells from Martin Fowler's and Kent Beck's chapter on that subject in Refactoring.

C++ Tools for Unit Testing