On Tuesday, 11 November 2025 at 07:12:38 UTC, Peter C wrote:
Clearly correct code is necessary, but it's not sufficient.
Code also needs to 'sustaining' correctness - through
maintenance, scaling, and change.
Adair Dingle, in his award winning book from 2014, titled
'Software Essentials Design and Construction', correctly
asserts that it is 'software maintenance' that dominates the
software life cycle.
k
So patterns and paradigms are not just an arbitrary choice.
Yes they are
They are the tools that provide for shared reasoning. They
should be chosen precisely because they provide the guardrails
that help to make 'correctness' easier to achieve and sustain
over the life-cycle of the code.
Different code has different purposes.
Also different languages desire less or more patters.
Patterns were mostly designed for Java/corporate world.
Maybe C# as well.
But not all code is like that. There is no "silver bullet" and
patterns are definitely not that as well.
'Good code' (regardless of patterns and paradigms) structures
logic in a way that makes correctness easier to reason about ->
collaboratively.
If the majority of the people who work with the code is fine -
it's fine.
That is, if the person writing the code is the only one that
can reason about it, then is certainly *not* good code.
Sometimes it is.
Because nobody else will contribute to his project anyway.
So he is writing in a style that he likes.
"The true measure of code quality, is that it's correctness is
easy to reason about collaboratively." - me, Nov 2025.
Something is missing in this definition is quality of
collaborators.
Same code could be easy to reason for experienced devs and hard
for 1st grade students.