Поможет работа в команде с код ревью.
Все разработчики проходят 3 стадии развития:
1. копипастинг - когда, как собака, все понимаешь, но сам написать не можешь;
2. стадия быдлокода - когда код задачу решает, но без слез на него не взглянешь - не застрять на этой стадии помогут опытные коллеги, которые популярно объяснят, что так писать не надо;
3. стадия просветления - когда появляется понимание, что код должен не только работать, но и быть поддерживаемым.
Если нет возможности работать в команде, неплохо бы найти ментора, которому будет не влом периодически давать разгромную критику вашей работы. Только подходить к выбору надо на основании объективной информации о квалификации будущего наставника. "тэг ООП не уместен в вопросе про JS, так как в этом языке нет ооп, а есть только накладки, которые бабелем потом транспилируются в ванилу" (с) - в этом предложении ужасно все.