И вот таких моментов 1000 и 1 поиск по гуглу и стаку.
Вообще, то что все это у вас проходит на практике - это большой плюс.
После того как что-то сделано неправильно, а потом переделано - это означает, что в памяти и в понимании почему неправильно плохо, оно отложится лучше, чем если где-то один раз почитать и забыть.
Продолжай делать как делаешь. Много практики, много гугления. Можно смотреть чужой код, но тут проблема в том, что чужой код, для того чтобы понять его смысл, нужно не посмотреть, а хорошо вникнуть, а это время. Поэтому надо выбрать 1-2 опенсорс проекта и с ними разобраться, там уже изнутри, будет понятно где архитектура хорошая (и почему и для чего сделано было так), а где "исторически сложилось" или "срочно надо было заделать".