...

/

Refactoring

Refactoring

Learn what it means to refactor code and why it is important to do so.

Refactoring means changing the structure of the code by rearranging its internal representation without modifying its external behavior.

One example would be if we identify a class that has lots of responsibilities and very long methods, and then decide to change it by using smaller methods, creating new internal collaborators, and distributing responsibilities into new, smaller objects. As we do that, we're careful not to change the original interface of that class, keep all its public methods as before, and not change any signature. To an external observer of that class, it might look like nothing happened (but we know otherwise).

Press + to interact

Refactoring is a critical activity in software maintenance, yet something that can't be done (at least not correctly) without having unit tests. This is because, as each change gets made, we need to know that our code is still correct. In a sense, we can think of our unit tests as the "external observer" for our code, making sure the contract doesn't break.

Every now and then, we need to support a new feature or use our software in unintended ways. The only way to accommodate ...