Refactoring: To the Rubicon...and Beyond!
Courtyard, Demo room 1
Thursday, 11:30, 45 minutes
This event is also being given Tuesday at 10:30.
Roly Perera, Ergnosis Ltd.
Russ Freeman, Ergnosis Ltd.
Phil Webb, Ergnosis Ltd.
Demonstration number: 1
Software development involves a continual process of refactoring to accommodate new features and considate existing functionality. Without this ongoing maintenance effort, entropy rapidly takes hold and delivering further features or bug-fixes becomes increasingly difficult.
Interest in software refactoring and tools for automating or assisting with this activity has been growing steadily over the last decade, thanks to the influential efforts of Roberts and Brant, Opdyke, Fowler and others. However the refactorings which have been discussed to date, such as Extract Method, are in desperate need of decomposition into more primitive, but more widely applicable refactorings, such as Push Code Into Method.
We will demonstrate this new approach to refactoring through a powerful new tool which supports these refactoring primitives directly. By understanding all refactorings as the introduction or elimination of degrees of freedom we can see how a large proportion of programming edits are in fact micro-refactorings, and gain an insight into how tools that support these micro-refactorings will have a dramatic impact on developer productivity.