DEV Community

Cover image for Does S.O.L.I.D. Still Make Sense in the Age of LLMs?
Paweł Nejczew
Paweł Nejczew

Posted on

Does S.O.L.I.D. Still Make Sense in the Age of LLMs?

I’m hearing more and more theories suggesting that since AI can generate endless amounts of code, architecture and readability no longer matter. “If AI wrote it, AI can fix it later.” I’m not sure if a simple eye-roll and a heavy sigh are enough anymore, or if it’s time to start swearing out loud. My experience tells me the exact opposite: as code production skyrockets, maintainability becomes a critical success factor for any evolving software project.

We use acronyms like S.O.L.I.D. to keep specific rules in mind and write software that other developers can easily maintain. In the past, every redundant or inefficient piece of code carried a cost measured in comprehension time, bug potential, and sometimes the “WTFs per minute” of those maintaining the app after us. Today, we also have to factor in token bills (AI compute costs), because low-quality code inflates the context sent to the model or leads to redundant operations. Sometimes you have to perform mental gymnastics just to get the model to grasp the original intent and connect the dots-and all of that costs money, which adds up fast.

If we assume that models will play an increasing role in development, boosting the lines of code produced per engineer, then “clean code” is more crucial today than ever. Feeding poor code into these models will only generate more poor code, forcing us to spend more time on manual hotfixes or wrestling with failed AI generation loops.

The fundamentals of clean code design remain one of the most vital components of software engineering knowledge. While I wouldn’t limit it strictly to SOLID, it will always serve as a solid foundation for professionals writing or generating code in object-oriented applications. Within this acronym lie ironclad principles that have survived for decades, helping build countless stable and readable codebases.

Top comments (0)