Sunday, August 30, 2015

What Is 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 current tools have been 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. In his book, Fowler describes a methodology for cleaning up code while minimizing the chance of introducing new bugs.

In January 2001, automated refactoring tools began to appear in earnest, including the IntelliJ IDEA Java IDE (Integrated Development Environment), the X-ref plug-in tool for the Emacs editor and the Instantiations jFactor stand-alone refactoring tool. Many basic editing environments support simple refactorings like renaming a function or variable across an entire code base. Most current refactoring-capable tools support Extract Method and Inline Method at minimum, but support for more complex but useful refactorings like Extract Interface and Extract Superclass is still not common, though available.

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.

3 comments:

  1. @admin

    We believe that whatever your dental needs may be, you will be treated with the highest quality dentistry available and with the most compassionate, respectful care you deserve.

    Regards,
    Dentist In Chicopee

    ReplyDelete
  2. Dental Magik provides a wide variety of dental services and procedures to address all of our patient’s dental health needs. By combining quality patient care with up-to-date technology, we are able to treat patients of all ages in a comfortable and relaxing setting. Our website includes information on the following Dental Services: Cosmetic Dentist, Family Dentist, General Dentist, Emergency Dentist, Dental Implants, Teeth Whitening, Dental Veneers, Dentures, Dental Crowns and more.
    Dentist in east brunswick nj

    ReplyDelete
  3. Brookline Dentist is a highly well-respected dental clinic situated in Brookline.
    It is where you can receive primary dental care and therapeutic dental care.
    Additionally, you can receive dental implants or undergo any cosmetic dentistry procedure that will improve your smile’s appearance.
    We offer emergency services and patient education to ensure that you are familiar with your dentist and the services we’re providing.
    EMERGENCY DENTIST BROOKLINE,MA

    ReplyDelete

We Appreciate Your Feedback. Tell Us What You Think About Us. We Are Glad to Improve Our Service to You