good programmers solve problems, instead of creating new ones……
good programmers should write programms that make work easier and not creating more „artifical“ work & overhead……

0. nobody is perfect, nobody is god

1. want to rewrite / add functionality / change an allready „working“ class?
-> don’t brake old functionality, and backward compatibility, rather make 1. a new class with similar name or should it be a completely new project?
maybe the new class will silently replace the old class.

„never change a running system“ don’t try to tune a system that „works“ unless you know 100% that it will not affect other / old functionality.

2. DO NOT copy & paste classes or functions or methods or whatever -> OOP – Object (modular plugin segmented partitioned big-thing-divided-into-smal-pieces) Oriented Programming means:
2.1. one place, one code…… not multiple places same code.
-> maximum maintainability….. asuming that nobody is god -> humans make mistakes -> these mistakes will also get copied….. and then one needs to fix 10x functions instead of one often reused one.
-> maximum reuse of methods & functions,
2.2. (please comment to make this a more complete list!)