refactoring Archive

Code as a Crime Scene

Taming complexity is a challenge of every large-scale software project. Traditional metrics and techniques are inadequate. That leaves us with intuition. And human intuition is unequaled when it comes to assessing the quality of a design. But

Retrofitting a Software Architecture

We can do without architecture early on, but at some point a clearly communicated architecture offers big productivity benefits to developers who otherwise drown in the expanding implementation-level detail.

Breaking the Legacy of Legacy Code

Dave Thomas interviews Michael Feathers about legacy code and the benefits and challenges of refactoring older code bases to match the needs of modern times. This is a fascinating topic.

How To Approach Refactoring

As programmers we have learned and practiced various refactoring techniques, you have pulled up methods, pushed down fields, extracted superclass,… Yet if you feel that you or your team can use something more fundamental, something more basic

How to Architect a Codebase-wide Refactoring Project

The notion of approaching such a huge refactoring task is daunting to say the least, and the altruistic idea of dismantling the project piece by piece, then re–building it systematically is more easily said than done. But