Code Smells e princípios S.O.L.I.D

Bom dia pessoal!!!

Gostaria de saber se alguém conhece algum material para começar a estudar sobre Code Smells e princípios SOLID, um material que tenha vários exemplos de códigos de preferência em JAVA com a utilização correta e errada dos princípios SOLID, e também códigos com exemplos de Code Smells e sua correção.
Também gostaria de um material que explicasse sobre Clean Code

Recomendo os livros “Clean Architecture” e “Clean Code”.

O que é SOLID: O guia completo para você entender os 5 princípios da POO