ABSTRACT
In this paper, we describe patterns that can be used to find ways to integrate refactoring into everyday work in a software project. They are a part of a larger refactoring patterns pattern collection. We introduce the pattern collection and the background and describe three patterns in detail. Revision control logging pattern helps to maintain the rationale of the refactoring operations and separates refactoring from, for instance, feature development and bug fixes. Embed small refactorings encourages you to do the minor tweaks, fixes, and changes during your daily routines. Finally, Establish safety net guides you to setup unit tests and revision control before starting refactoring.
- Fowler M and Foemmel M., Continuous integration. Thought-Works, 2006, 122. http://www.dccia.ua.es/dccia/inf/asignaturas/MADS/2013-14/lecturas/10_Fowler_Continuous_Integration.pdf. Accessed 6.1.2016Google Scholar
- Duvall, Paul M. Continuous Integration. Pearson Education India, 2007Google Scholar
- Humble J. and Farley D.,Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation, Addison-Wesley Professional, 2010 Google ScholarDigital Library
- Fowler M., Beck K., Brant J., Opdyke W., Roberts D., Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999 Google ScholarDigital Library
- Need for Speed, http://www.n4s.fi/en/. Accessed 1.1.2016Google Scholar
- Leppanen, M.; Makinen, S.; Lahtinen, S.; Sievi-Korte, O.; Tuovinen, A.-P.; Mannisto, T., Refactoring-a Shot in the Dark?. in Software, IEEE, vol.32, no.6, pp.62--70, Nov.-Dec. 2015Google ScholarCross Ref
- Leppanen, M.; Lahtinen, S.; Kuusinen, K.; Makinen, S.; Mannisto, T.; Itkonen, J.; Yli-Huumo, J.; Lehtonen, T., Decision-Making Framework for Refactoring, Managing Technical Debt (MTD), 2015 IEEE 7th International Workshop on, vol., no., pp.61--68, 2--2 Oct. 2015Google Scholar
- Portland Pattern Repository. 2003. Portland Form, http://c2.com/cgi/wiki?PortlandForm, Accessed1.1.2016Google Scholar
- Alexandrian form. http://c2.com/cgi/wiki?AlexandrianForm. Accessed 1.1.2016Google Scholar
- Workflows of Refactoring, Martin Fowler, http://martinfowler.com/articles/workflowsOfRefactoring. Accessed 6.1.2016Google Scholar
- Martin Fowler, OOP2014 SIG Datacom 14th July 2014, Workflows of Refactoring, https://www.youtube.com/watch?v=vqEg37e4Mkw. Accessed 6.1.2016Google Scholar
- Martin Fowler, Workflows of Refactoring, Infodeck on Refactoring, http://martinfowler.com/articles/workflowsOfRefactoring/. Accessed: 6.1.2016Google Scholar
- Robert C. Martin, The Boy Scout Rule. In Kevlin Henney (Ed.), 97 Things Every Programmer Should Know, The Collective Wisdom from the Experts, O'Reilly Media. 2010 http://programmer.97things.oreilly.com/wiki/index.php/The_Boy_Scout_Rule. Accessed 6.1.2016Google Scholar
- Mariusz Sieraczkiewicz on Nov 30, 2014 Natural Course of Refactoring -- a Refactoring Workflow, http://www.infoq.com/articles/natural-course-refactoring. Accessed 9.1.2016Google Scholar
Recommendations
Refactoring of Crosscutting Concerns with Metaphor-Based Heuristics
It has been advocated that Aspect-Oriented Programming (AOP) is an effective technique to improve software maintainability through explicit support for modularising crosscutting concerns. However, in order to take the advantages of AOP, there is a need ...
Aspect-Oriented Refactoring of Legacy Applications: An Evaluation
The primary claimed benefits of aspect-oriented programming (AOP) are that it improves the understandability and maintainability of software applications by modularizing crosscutting concerns. Before there is widespread adoption of AOP, developers need ...
Tool-Supported Refactoring of Existing Object-Oriented Code into Aspects
Aspect-Oriented Programming (AOP) provides mechanisms for the separation of crosscutting concerns—functionalities scattered through the system and tangled with the base code. Existing systems are a natural testbed for the AOP approach since they often ...
Comments