Só lembrando que usar algo que "todo mundo" diz que é bom em todo lugar não é fazer bons códigos. Só porque tem um livro que fala sobre um assunto e um monte de gente repete aquilo sem questionamento, não quer dizer que o código ficará bom, pode até ficar bem pior. O exemplo clássico é o https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition. E não pense que é algo caricatural, grande parte da pessoas programa desse jeito, ou seja, elas são caricaturas de programdores.
Entender bem a computação, ter pensamento questionador, boa capacidade de interpretação de textos, domínio da matemática, especialmente da lógica apurada, entendimento da ciência e pragmatismo é que permitem um programador fazer bons códsigos, não receitas de bolo.
O primeiro vídeo do meu canal será justamente questionando as tais "boas práticas" que mais prejudicam as pessoas do que ajudam (ajudam também, para quem sabe usar) e que ajuda muito a IA substituir essas pessoas.
Quem usa SOLID ou outra técnica sem uma bagagem completa faz códigos ruins, ou bons por coincidência. SOLID mal usado cria complexidade sem trazer benefícios. Exemplos artificiais costumam mais desensinar (ocorre muito com OOP) porque mostra oi mecanismo, mas aplicando do jeito errado, e e assim que as pessoas vão aprender. QUando aprende e treina o erro é ele que sempre fará. E um dia brigará pelo erro. Só faça algo se você puder provar que aquilo mais ajuda que atrapalha, se m a prova, não use.
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente (não vendo nada, é retribuição na minha aposentadoria) (links aqui no perfil também).