InfoQ Homepage Refactoring Content on InfoQ
-
A DSL for Scripting Refactoring in Erlang
Simon Thompson introduces Wrangler, a refactoring tool written in Erlang for Erlang code and embeddable in common IDEs, such as Emacs and Eclipse.
-
Stop Refactoring!
Nat Pryce considers that we cannot write the perfect code because it is never fully prepared for the coming change, so he suggests embracing impermanence & continual imperfection.
-
Nothing Is Permanent Except Change - How Software Architects Can Embrace Change
Michael Stal discusses system architecture quality, how to avoid architectural erosion, how to deal with refactoring, and design principles for architecture evolution.
-
A Scalable, Peer-led Model for Building Good Habits in Large & Diverse Development Teams
Jason Gorman presents how developers can learn TDD to the point of transforming the knowledge acquired into habits by exercising a number of practices followed by peer evaluation.
-
Living and Working with Aging Software
Ralph Johnson discusses principles, practices and tools relating to software development starting from already existing code which needs refactoring, maintenance, and sometimes architectural change.
-
The Limited Red Society
Joshua Kerievsky demos Parallel Change, a way of refactoring meant to reduce time spent in red when code does not compile and tests do not pass. He also talks about Narrowed Change and takes questions
-
Pimp My Architecture
Dan North discusses an example of rearchitecting an application without rewriting it from scratch, and explains general strategies for a holistic rearchitecture.
-
Modifiability: Or is there Design in Agility?
Martin Fowler & panelists explore the myth that agile methods mean an absence of design. Design still happens in agile projects, but it shifts from an up-front phase to a continual evolution.
-
The Principles of Agile Design
Bob Martin presents the first of his five principles of object-oriented design, which aim to address a fundamental problem - the management of dependencies between classes.