skip to main content
10.1145/3022636.3022642acmotherconferencesArticle/Chapter ViewAbstractPublication PagesvikingplopConference Proceedingsconference-collections
research-article

Refactoring Patterns, Practices for Daily Work

Published:07 April 2016Publication History

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.

References

  1. 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 ScholarGoogle Scholar
  2. Duvall, Paul M. Continuous Integration. Pearson Education India, 2007Google ScholarGoogle Scholar
  3. Humble J. and Farley D.,Continuous Delivery: Reliable Software Releases Through Build, Test, and Deployment Automation, Addison-Wesley Professional, 2010 Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Fowler M., Beck K., Brant J., Opdyke W., Roberts D., Refactoring: Improving the Design of Existing Code, Addison-Wesley, 1999 Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Need for Speed, http://www.n4s.fi/en/. Accessed 1.1.2016Google ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarCross RefCross Ref
  7. 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 ScholarGoogle Scholar
  8. Portland Pattern Repository. 2003. Portland Form, http://c2.com/cgi/wiki?PortlandForm, Accessed1.1.2016Google ScholarGoogle Scholar
  9. Alexandrian form. http://c2.com/cgi/wiki?AlexandrianForm. Accessed 1.1.2016Google ScholarGoogle Scholar
  10. Workflows of Refactoring, Martin Fowler, http://martinfowler.com/articles/workflowsOfRefactoring. Accessed 6.1.2016Google ScholarGoogle Scholar
  11. Martin Fowler, OOP2014 SIG Datacom 14th July 2014, Workflows of Refactoring, https://www.youtube.com/watch?v=vqEg37e4Mkw. Accessed 6.1.2016Google ScholarGoogle Scholar
  12. Martin Fowler, Workflows of Refactoring, Infodeck on Refactoring, http://martinfowler.com/articles/workflowsOfRefactoring/. Accessed: 6.1.2016Google ScholarGoogle Scholar
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle Scholar

Recommendations

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Published in

    cover image ACM Other conferences
    VikingPLoP '16: Proceedings of the 10th Travelling Conference on Pattern Languages of Programs
    April 2016
    186 pages
    ISBN:9781450342001
    DOI:10.1145/3022636

    Copyright © 2016 ACM

    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    • Published: 7 April 2016

    Permissions

    Request permissions about this article.

    Request Permissions

    Check for updates

    Qualifiers

    • research-article
    • Research
    • Refereed limited

    Acceptance Rates

    Overall Acceptance Rate8of11submissions,73%
  • Article Metrics

    • Downloads (Last 12 months)14
    • Downloads (Last 6 weeks)3

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader