DEV Community

Jonathan Hall
Jonathan Hall

Posted on • Originally published at jhall.io on

1

4 reasons to change code

Why do we change code?

In his book, Working Effectively with Legacy Code, Michael Feathers offers four reasons:

  1. Adding a feature
  2. Fixing a bug
  3. Improving the design
  4. Optimizing resource usage

I’ve yet to think of a 5th reason.

So what?

These 4 reasons are the basis for a personal rule when writing code:

Each pull request must address only one of these reasons.

Mixing concerns in a single PR can lead to all sorts of problems:

  • It makes the PR much harder to understand and review
  • It makes deploying the PR more dangerous (if a bug is found, is it due to the new feature, or the refactoring?)
  • It makes reverting the PR dangerous (you can’t revert a broken feature without also reverting useful bug fixes)

Top comments (0)

Image of Docusign

🛠️ Bring your solution into Docusign. Reach over 1.6M customers.

Docusign is now extensible. Overcome challenges with disconnected products and inaccessible data by bringing your solutions into Docusign and publishing to 1.6M customers in the App Center.

Learn more