Refactor
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.
It is a disciplined way to clean up code that minimizes the chances of introducing
bugs. In essence when you refactor you are improving the design of the code after
it has been written.
Why should you refactor?
Without refactoring, the design of the program will decay. As people change code
for short-term goals and without a full comprehension of the design of the code,
the code loses its structure. It becomes harder to see the design by reading the
code. The harder it is to see the design in the code, the more rapidly it decays.
Regular refactoring helps code retain its shape.
Without refactoring, there will be more and more duplicate codes in your program.
Poorly designed code usually takes more code to do the same things, often because
the code quite literally does the same thing in several places. Thus an important
aspect of improving design is to eliminate duplicate code.
Without refactoring, the program will be very understood by other programmer who
wants to make some changes in a few months' time. When we write code, we easily
forget that extra user of the code, yet that user is actually the most important.
In fact, a little time spent refactoring can make the code better communicate its
purpose.
What benefits about refactoring?
Refactoring improves the design of software. With frequent changes, the design of
the program becomes harder to see even will decay. Refactoring is rather like tidying
up the code, it is done to remove bits that aren't really in the right place.
Refactoring makes software easier to understand. Refactoring can help you to make
your code more readable. When refactoring your have code that works but is not ideally
structured. Maybe it only spent a little time, but programming is all about saying
exactly what you mean.
Refactoring highlights bugs and potential risks. Through refactoring regularly,
you may be very familiar with the program. So if there are some bugs or potential
risks in your program, you are easier to discover them.
How benefits Nova?
As one of agile programming practices, refactor benefits many project teams in Nova.
This is done by removing duplication, simplification, making code easier to understand,
and adding flexibility. Regular refactoring helps code retain its shape. Moreover,
test always plays a significant role in the refactoring process.. Although refactoring
a system should not change its observable behavior, some programmers might unintentionally
change the system's behavior might exsit. This is verified by ensuring that all
the tests pass before and after a refactoring. In a word, refactoring improves product
quality via tidying up code, as well as highlighting bugs and potential risks.