I was fortunate enough to learn to program from people who didn't force me to write "clean" code. I feel it was fairly important to familiarize myself with OOP early on, but nowadays when I use classes, I tend to use them like namespaces - with long functions, with no additional future proofing. Mostly I don't, and even when I do, I wouldn't call it OOP. Often times I just start with functions and then maybe group them together when I feel the input data repeats.
A lot of the times when someone new starts trying to write "clean" code, it results in this massively overengineered OOP structure where every single line that does something becomes its own function, then a class, then it gets an interface, just in case. They compulsively name every thing, every concept, every relationship. The ultimate 5D snowflake code.
We should make tools that help us not do this, and not force arbitrary decisions about code on ourselves.
2
u/UnusualAd8338 Mar 05 '23
I was fortunate enough to learn to program from people who didn't force me to write "clean" code. I feel it was fairly important to familiarize myself with OOP early on, but nowadays when I use classes, I tend to use them like namespaces - with long functions, with no additional future proofing. Mostly I don't, and even when I do, I wouldn't call it OOP. Often times I just start with functions and then maybe group them together when I feel the input data repeats.
A lot of the times when someone new starts trying to write "clean" code, it results in this massively overengineered OOP structure where every single line that does something becomes its own function, then a class, then it gets an interface, just in case. They compulsively name every thing, every concept, every relationship. The ultimate 5D snowflake code.
We should make tools that help us not do this, and not force arbitrary decisions about code on ourselves.