На курсах и в лагерях, независимо от того, платные они или бесплатные, вы найдете проекты для самостоятельного написания кода и создания собственных продуктов. Я думаю, что это лучший способ учиться и проверять свои навыки, хотя и иногда может быть немного напряжно, особенно отладка и поиск вещей, которых нет в материале, который вы используете для обучения.

И если вы выполнили несколько проектов, в конечном итоге вы обнаружите, что некоторые написанные вами материалы можно использовать в новых продуктах, потому что они имеют общие функции и зарабатывают время.

И тут открывается ящик Пандоры.

Не поймите меня неправильно. Я нахожусь в своем путешествии как новичок, и заманчиво сделать копирование-вставку, потому что вам не обязательно нужно понимать, что вы вставляете в свой код, или это то, что вы думаете сначала. Кроме того, вы зарабатываете время и думаете использовать это время для обучения или, по иронии судьбы, для создания большего количества проектов.

Но это худшая часть.

Это создает ложное ощущение опыта, мешает вам понять логику того, что вы делаете, и увеличивает ваше эго. И если вы сделаете это привычкой, вы не сможете перейти к созданию более сложных продуктов, потому что у вас никогда не было основ.

А поддержка кода, который вы не понимаете до конца, — это ад.

Итак, что мы делаем тогда?

Итак, поискав в Интернете и пообщавшись с более опытными программистами, я пришел к выводу, что лучше повторно использовать (а не копировать) код, который вы сделали в прошлом или сделали ваши партнеры.

Что касается «повторного использования», я имею в виду, что вам неизбежно нужно писать код, принимая исходный код за основу того, что вы делаете. Таким образом, вы заработаете пару часов, пока будете управлять инструментами, с которыми вам удобно, и действительно научитесь поддерживать их, одновременно неосознанно готовясь к более амбициозным продуктам.

Это ложь, что каждый программист знает, что делает каждая строка кода, и что вы никогда не должны копировать и вставлять. Он гибкий, и то, что вознаградит вас, — это ваша способность адаптироваться к новым вызовам, но внесение этих неприятных изменений сделает вас в долгосрочной перспективе отличным программистом.