La programmazione non è semplicemente vero/falso ma serve rendersi conto di quello che si fa…
Di base scrivere codice riusabile è palesemente giusto ma non a prescindere …. Serve contestualizzare e ragionare.
A mio avviso ti manca esperienza ma prima di tutto a quello che leggi devi anteporre il ragionamento logico, che spesso non ritrovo nei tuoi esposti, parti sempre per tangenti di torruosità logica poco spiegabili, e ne esce codice assurdo e conflittuale.
SEMPLICITÀ nelle cose… è la prima cosa da imparare, togliere e non riempire di inutilità.
Ovviamente la prima cosa è studiare il mezzo, la voglia di fare di certo non ti manca.