@Jimbo
Студент, самоучка.

Стоит ли смотреть чужой код, разбирать и затем воспроизводить его самому на память для учебы?

Будет польза или вред от этого? Пытаюсь и сам писать код, но пока получается не очень.
  • Вопрос задан
  • 1627 просмотров
Пригласить эксперта
Ответы на вопрос 7
@mamkaololosha
В таком подходе один большой минус: вы никогда не узнаете почему автор написал именно так. Код обычно составляет ~25% всех знаний автора. И возможно, что к именно такому решению он пришел только после 10 разных прототипов. Либо учите теорию, чтобы была полная картина в голове, либо так, как хотите вы. Но это получается зубрежка и прокатит только на экзамене.
Ответ написан
@vilgeforce
Раздолбай и программист
Смотреть и разбираться в чужом коде стоит, воспроизводить на память - нет.
Ответ написан
Комментировать
IonDen
@IonDen
JavaScript developer. IonDen.com
Есть огромная разница между пониманием и заучиванием наизусть. Выкиньте заучивание из головы навсегда, вы больше не в школе.
Ответ написан
Комментировать
Ashlst
@Ashlst
Фанат эстетики и красивых решений.
Учите теорию.
На память учить не надо - бессмысленно.Вы должны понимать как это работает,отмечать интересные моменты реализации,пытаться улучшить/упростить код.
Ответ написан
Комментировать
@JuniorNoobie
Сижу в поддержке, пишу мелкие проекты
Все пишут, что полезно. Но это если база знаний есть более-менее твердая. Иначе больше времени будешь проводить в поисковике, нежели в дебрях кода. Вообще, лучше найти исходники того, с интерфейсом чего ты знаком, чтобы не тратить много времени на понимание. Игрушку какую-нибудь простенькую, к примеру.
Ответ написан
TheKnight
@TheKnight
Программист
Сделай по другому. Напиши некий набор тестов, которые проверяют выполнение задачи, решенный тем кодом, который ты хочешь "заучить". Потом напиши кондовое, костыльное, но свое решение этой задачи проходящее набор написанных на предыдущем этапе тестов. Сравни эти два решения. Попробуй понять, почему автор сделал так а не иначе. Чем твое решение хуже или лучше. Сделай выводы разнице и сходстве.
В чем плюс - ты учишься придумывать свое решение для задачи. К сожалению не все и не всегда придумано за нас и гугл не всегда всемогущ. В чем минусы - ты можешь писать отвратительные тесты по своей лени и можешь писать не менее отвратительный код, расчитанный только на прохождение этих тестов. К примеру захордкодить входные данные и ответы на них. Правда как по мне во многих простых задачах проще написать нормальное решение чем хардкодить данные.
Если речь идето стиле кода - тогда надо не переписывать код по памяти, а просто учавствовать в жизни соответствующего проекта. Тебе по пальцам настучат за кривую стилистику, не переживай.
Ответ написан
Комментировать
@belkin-labs
Если автор заслуживает доверия, то я никогда не стеснялся посмотреть, как что реализовано. Так, например, разбираясь в кодах современных движков многому можно научиться. Есть движки, которые просто заставляют быть на гребне современных технологий (я программирую на PHP и говорю о движках блогов и магазинов) Так или иначе программирование - это творческое применение наработанных клише и шаблонов. Эти клише и шаблоны у программистов могут быть разные. Вы делаете так. Посмотрели у другого - а у него лучше. И заменили свое действующее клише или шаблон.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы