Стоит ли смотреть чужой код, разбирать и затем воспроизводить его самому на память для учебы?
В таком подходе один большой минус: вы никогда не узнаете почему автор написал именно так. Код обычно составляет ~25% всех знаний автора. И возможно, что к именно такому решению он пришел только после 10 разных прототипов. Либо учите теорию, чтобы была полная картина в голове, либо так, как хотите вы. Но это получается зубрежка и прокатит только на экзамене.
Сделай по другому. Напиши некий набор тестов, которые проверяют выполнение задачи, решенный тем кодом, который ты хочешь "заучить". Потом напиши кондовое, костыльное, но свое решение этой задачи проходящее набор написанных на предыдущем этапе тестов. Сравни эти два решения. Попробуй понять, почему автор сделал так а не иначе. Чем твое решение хуже или лучше. Сделай выводы разнице и сходстве.
В чем плюс - ты учишься придумывать свое решение для задачи. К сожалению не все и не всегда придумано за нас и гугл не всегда всемогущ. В чем минусы - ты можешь писать отвратительные тесты по своей лени и можешь писать не менее отвратительный код, расчитанный только на прохождение этих тестов. К примеру захордкодить входные данные и ответы на них. Правда как по мне во многих простых задачах проще написать нормальное решение чем хардкодить данные.
Если речь идето стиле кода - тогда надо не переписывать код по памяти, а просто учавствовать в жизни соответствующего проекта. Тебе по пальцам настучат за кривую стилистику, не переживай.