Не копируйте, а перепечатывайте код

В наше время Google и Stack Overflow стали незаменимыми инструментами разработчика. Но у последнего есть и свои недостатки. К ним, конечно, можно причислить странную политику модерации, и еще много чего, но главный минус не в этом. В условиях, когда почти любой код можно найти в интернете, появился тип разработчиков, шутливо называемый «Full-stack Overflow Developer».

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

Конечно, я не утверждаю, что копипастить код — это всегда плохо. Уверен, что все, кто читает данную статью, не без этого греха. К тому же дедлайны порой поджимают, да и чужое решение может оказаться лучше собственного. Но означает ли это, что мы все постепенно превращаемся в Full-stack Overflow Developer-ов? Как этого не допустить?

Очень просто. Каждый раз, вы натыкаетесь на участок кода, который хотите скопировать в свой проект, то не нажимайте Ctrl+C/Ctrl+V, а перепечатайте этот участок вручную. В чем смысл? Какая разница, как код попадет из интернета в проект? К тому же скопировать гораздо быстрее, чем перепечатывать. Но вот почему второй вариант предпочительнее:

  • когда вы обязались не копипастить код, а перепечатывать, то вы невольно начинаете оценивать уже существующие решения в поисках наиболее простого и короткого;
  • когда вы перепечатываете код, вы не делаете это полностью бездумно, ваше подсознание в любом случае анализирует то, что вы пишете, запоминает какую-либо полезную информацию — а значит, когда вы в следующий раз столкнетесь с подобной проблемой, вы будете готовы к ней;
  • но самое важное — перепечатанный вами код не будет абсолютной копией своего оригинала, ведь где-то вы подстроите его под себя и под правила проекта, переоформите визуально для лучшей читаемости, где-то добавите комментарии, дополните его уже написанными вами ранее функциями, и такой код лучше впишется в проект, чем кусок, бездумно скопированный со Stack Overflow;
  • ну и в конце концов — это будет написанный лично вами код, вы должны гордиться этим!

Оригинал: «Don't Copy&Paste. Retype»