Skip to main content

Research Repository

Advanced Search

Refactoring: 25 years on

Simons, Christopher

Refactoring: 25 years on Thumbnail


Authors



Abstract

It’s been some 25 years since ‘refactoring’ was suggested and is now central to programming practice. But how is refactoring conducted today compared to its original notions? After a quick recap on the original ideas of refactoring, this workshop explores the intent and principles of refactoring in contemporary practice, and also considers the robustness and (semi-) automated support provided by refactoring tools. This workshop is highly interactive, and highly driven by participants. The workshop begins with a short overview of how refactoring came about in the 1990s. Central to the impact of refactoring was tool support during development, and the suggestion that (semi-) automation could take away (at least) some of the tedium of repetitious restructuring. The workshop then forms small breakout groups to consider what the intent and principles of refactoring might be in a contemporary context. For example, the original intent of refactoring was to bring out design-level restructuring e.g. duplication avoidance. But is it now the case that refactoring relates to more fine-grained (code) changes. Moreover, the fundamental principle of refactoring is that restructuring is semantic preserving. But is this strictly necessary at a fine grained code level? Might minor changes in program behavior be tolerated for the sake of improved elegance in design and code? Findings are shared and discussed around the workshop. Next, the role of the automated tool support for refactoring is explored. For example, how robust is contemporary tool support? Are refactoring tools error free? Do they even introduce errors in design and code? After refactoring, is a simple syntax check sufficient? Also, how proactive are refactoring tools in their support? Should they be present in development IDEs, possibly as recommendation engines, or might they work offline from a command line, for example. For a second time, building on the ideas discussed, participants form into small breakout groups. Finally, the workshop brings together the findings of the participants for analysis and reflection.

Citation

Simons, C. (2016, April). Refactoring: 25 years on. Presented at 2016 Annual Conference of the Association of C and C++ Users (ACCU), Bristol, UK

Presentation Conference Type Other
Conference Name 2016 Annual Conference of the Association of C and C++ Users (ACCU)
Conference Location Bristol, UK
Start Date Apr 20, 2016
End Date Apr 23, 2016
Acceptance Date Jan 1, 2016
Publication Date Jan 1, 2016
Deposit Date Apr 25, 2016
Publicly Available Date Apr 25, 2016
Peer Reviewed Peer Reviewed
Keywords refactoring, software Design
Public URL https://uwe-repository.worktribe.com/output/923276
Publisher URL http://accu.org/index.php/conferences/accu_conference_2016/accu2016_sessions#Refactoring:_25_Years_On
Additional Information Title of Conference or Conference Proceedings : 2016 Annual Conference of the Association of C and C++ Users (ACCU)

Files







You might also like



Downloadable Citations