Friday, May 29, 2020

Word of the Day: refactoring

 
Word of the Day WhatIs.com
Daily updates on the latest technology terms | May 29, 2020

refactoring

Refactoring is "the process of changing a software system in such a way that it does not alter the external behavior of the code yet improves its internal structure," according to Martin Fowler, the "father" of refactoring.

The concept of refactoring covers practically any revision or cleaning up of source code, but Fowler consolidated many best practices from across the software development industry into a specific list of "refactorings" and described methods to implement them in his book, Refactoring: Improving the Design of Existing Code. While refactoring can be applied to any programming language, the majority of refactoring tools were originally developed for the Java language.

One approach to refactoring is to improve the structure of source code at one point and then extend the same changes systematically to all applicable references throughout the program. The result is to make the code more efficient, scalable, maintainable or reusable, without actually changing any functions of the program itself. Refactoring plays an important role in application modernization and moving legacy apps from a monolithic structure to microservices.

Eric Raymond, a leading philosopher about program development, maintains that the concept of refactoring is consistent with the idea of get-something-working-now-and-perfect-it-later approach long familiar to Unix and open source programmers and hackers. The idea is also embodied in the approach known as extreme programming. Continue reading...

Today's Takeaway

 

"Refactoring is a vital part of software code maintenance. This restructuring process improves the code's readability and extensibility -- it might even address looming flaws before users experience their effects." - Stephen J. Bigelow

Buzzword Alert

 

microservices

Refactoring a monolith into microservices modernizes the application. Ideally, it will create autonomous services that don't need to communicate with each other in real time.


refactoring tools
Names and variables that were obvious to one developer may not be so obvious to someone new. That's why it's important to look for a tool that will also change the comments.

 

legacy code

Learn how to refactor a repository pattern, discover how to add unit tests to those methods, and find suggestions for working with older code.

Quiz Yourself

 
Code refactoring has been heralded as an effective way to modernize applications, especially for mobile. Take this quiz to find out what you really know.

Stay in Touch

 

Thank you for reading! For feedback about any of our definitions or to suggest a new definition (or learning resource) please contact us at: editor@whatIs.com

FOLLOW US

TwitterRSS
About This E-Newsletter
The Word of the Day is published by TechTarget, Inc., 275 Grove Street, Newton, Massachusetts, 02466 US.

Click to: Unsubscribe.

You are receiving this email because you are a member of TechTarget. When you access content from this email, your information may be shared with the sponsors or future sponsors of that content and with our Partners, see up-to-date Partners List, as described in our Privacy Policy. For additional information, please contact: webmaster@techtarget.com.

© 2020 TechTarget, Inc. all rights reserved. Designated trademarks, brands, logos, and service marks are the property of their respective owners.

Privacy Policy | Partners List
TechTarget

No comments: