and change through structure and consistency yet remains robust and secure to withstand performance demands. https://www.sonarsource.com/solutions/clean-code/
by everyone on the team. With understandability comes readability, changeability, extensibility and maintainability. All the things needed to keep a project going over a long time without accumulating up a large amount of technical debt. https://www.planetgeek.ch/wp-content/uploads/2013/06/Clean-Code-V2.2.pdf
and only one, reason to change. • V2: A module should be responsible to one, and only one, user or stakeholder. • V3: A module should be responsible to one, and only one, actor. • Vx: Gather together the things that change for the same reasons. Separate things that change for different reasons. https://blog.cleancoder.com/uncle-bob/2020/10/18/Solid-Relevance.html
open for extension but closed for modification. • Vx: A Module should be open for extension but closed for modification. https://blog.cleancoder.com/uncle-bob/2020/10/18/Solid-Relevance.html
something like the following substitution property: If for each object o1 of type S there is an object o2 of type T such that for all programs P defined in terms of T, the behavior of P is unchanged when o1 is substituted for o2 then S is a subtype of T. • Vx: A program that uses an interface must not be confused by an implementation of that interface. https://blog.cleancoder.com/uncle-bob/2020/10/18/Solid-Relevance.html