DEV Community

JavaScript Joel
JavaScript Joel

Posted on

3

What steps are you taking TODAY to prevent today's code from becoming tomorrow's LEGACY APP?

Every MONOLITH and LEGACY APPLICATION started out, just like today, as "the new technology".

The growth and decay is often slow and unnoticed. The pull to become an unmaintainable app is constant and unrelenting.

Without persistent intervention, today's tech WILL grow into tomorrow's LEGACY.

What steps are you taking TODAY to prevent today's code from becoming tomorrow's LEGACY APP?

=======

One thing that I am doing is creating CI/CD pipelines that enforce test coverage levels. I set a coverage level to prevent laziness in the future. If you add new code, you must also add new tests.

Sure the tests help, but writing code that is testable is the real benefit!

Top comments (2)

Collapse
 
dave_merrill profile image
Dave Merrill

Absolutely agree that the thinking required to write testable code is a huge benefit. And, you don't know how testable it is without the tests.

Enforcement can be a bit tricky -- the key is to get the desired mindset and behavior. Sometimes rules and enforcement can become a monster, and drive behavior that's compliant with the enforcement, without the necessary judgment (or understanding of the right mindset). Maybe an opportunity to start with some lightweight / nonthreatening checks, and view noncompliance as an opportunity to discuss and explore, rather than to reject transactions?

Collapse
 
joelnet profile image
JavaScript Joel

It is important a balance must be achieved for the enforcement. This is why it's up to the teams to decide their own rules.

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay