Статьи

Иногда проекты могут быть худшим способом изучения JavaScript

Иногда проекты могут быть худшим способом изучения JavaScript

Эта статья была рецензирована Тимом Севериеном и Крисом Перри . Спасибо всем рецензентам SitePoint за то, что сделали контент SitePoint как можно лучше!

Один из самых удивительно опасных советов учащимся JavaScript — «просто делать проекты».

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

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

Я не позволю этому случиться с вами, поэтому вот что мы рассмотрим:

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

Цель этой статьи — дать вам уверенность в движении вперед, независимо от того, изучаете ли вы JavaScript или любой другой язык.

Общая фраза, которая часто приводит к провалу

Одна из наиболее распространенных вещей, которые я слышу от людей, которые хотят изучать JavaScript, это «Я просто сделаю короткое слайд-шоу».

Они попытаются сделать слайд-шоу, и обычно происходит одно из двух:

  1. Это будет слишком тяжело, и они говорят себе, что «вернутся к этому позже», что часто означает, что нужно сдаться навсегда.

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

Почему это происходит?

Ловушка слишком много, слишком скоро

Ученики JavaScript часто выбирают слайд-шоу в качестве своего первого проекта, потому что это звучит просто.

Это ловушка!

Как только они пытаются это сделать, они обнаруживают, что это сложнее, чем они думали. Создание слайд-шоу может включать массивы, функции, циклы, анимацию, синхронизацию, прослушиватели событий, манипулирование DOM и многое другое. Это может быть огромное количество новых концепций для тех, кто только начинает.

Внезапно этот проект, который должен был быть легким, становится слишком сложным. Это отличие от первоначального ожидания создает неприятный психологический эффект. «Если я не могу сделать это легко, — говорят сами ученики, — то, возможно, я просто не в восторге от JavaScript».

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

В любом случае, конечным результатом часто является чувство разочарования, которое может помешать людям изучать JavaScript.

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

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

Какие проекты часто мешают обучению?

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

проект Вовлеченные концепции
викторина Массивы, объекты, функции, формы, слушатели событий
Список дел Массивы, объекты, функции, некоторая форма хранения (front-end или back-end), манипулирование DOM, прослушиватели событий
«Маленькая социальная сеть» Это проект с полным стеком, который, в дополнение к внешнему JavaScript, включает в себя базовые концепции, включая базы данных, аутентификацию, безопасность, управление пользователями и т. Д.

В чем смысл?

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

Все, что вам нужно, это лучший подход.

Как учиться эффективнее

Вот несколько стратегий, позволяющих избежать ловушек, связанных с выполнением проектов слишком рано:

  • начать с концепций
  • практиковаться как в реальной жизни

Стратегия 1: начать с концепций

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

Например, показать текст внутри div с помощью innerHTML Изменить цвет текста абзаца. Добавьте два числа вместе. Напишите свою первую функцию. Освоитесь с переменными. Храните коллекцию вещей в массиве или объекте. Сделайте что-нибудь, когда кнопка нажата. Узнайте о логике с ifelse Попробуйте несколько петель.

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

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

Стратегия 2: практикуйтесь как в реальной жизни

По мере того, как вы учитесь, не забудьте потратить некоторое время на практику в реальных условиях. Это означает использование вашего собственного текстового редактора и вашего собственного браузера и кодирование чего-либо, не полагаясь на учебное пособие.

Чем больше вы практикуетесь в программировании в реальных условиях, тем меньше вероятность того, что вы почувствуете себя застрявшими, когда пришло время создать что-то по-настоящему.

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

Так когда же происходят проекты?

Как только вы начнете изучать основы JavaScript, вы начнете узнавать, какие проекты находятся в пределах досягаемости.

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

Давайте рассмотрим некоторые конкретные примеры концепций, которые вы можете выучить, и мини-проекты, которые вы затем сможете сделать. Примеры в этой таблице упорядочены — каждый элемент опирается на предыдущие знания.

Новые концепции изучены Возможные мини-проекты
Переменные , функции Создайте функцию приветствия, которая берет ваше имя из переменной и отображает приветствие на странице.
Обработка кликов, изменение класса Создайте кнопку «больше информации», которая заставляет всплывать или исчезать информацию. Также попробуйте создать две кнопки выбора темы. Когда вы щелкаете по одному из них, куча материала на странице меняет цвета и стили в соответствии с темой.
Если заявления, случайные числа Создайте игру, в которой есть две двери, и вы должны нажать на нужную, чтобы получить приз.
Получить значение для ввода текста, арифметика JavaScript Создать ресторанный калькулятор чаевых.
Массивы , петли Создайте внешний интерфейс сайта социальной публикации. Используйте массив для хранения списка текстовых сообщений. Переберите этот массив для отображения сообщений.

Куда это идет?

Обратите внимание, что на этот раз мы делали вещи в другом порядке. Вместо того, чтобы начинать с проекта и пытаться догнать необходимые концепции, мы начали с концепций и строили проекты на их основе.

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

Как узнать, какие концепции использовать в проекте

Допустим, вы узнали некоторые концепции и начинаете пробовать проекты.

Как вы думаете о том, какие концепции использовать и какие концепции следует избегать?

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

В этом примере, чем больше инструментов вы знаете, тем больше вы сможете взглянуть на проблему и узнать, какой инструмент выбрать.

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

Имея это в виду, вот несколько практических способов продумать проект:

  • Сначала разбейте проект на более мелкие части.
  • Напишите простым языком, что вы хотите, чтобы каждый кусок делал. Таким образом, вы можете мыслить, не увязая в деталях кода.
  • Создайте каждый фрагмент проекта, начиная с известных вам концепций. Если вы сначала изучали концепции (вместо того, чтобы начинать с проектов в начале), у вас уже должен быть разумный инструмент.
  • Если в ваших знаниях есть пробел, уменьшите его до минимально возможного уровня функциональности и найдите его.
  • Пока вы учитесь, не зацикливайтесь на совершенстве. Совершенство вредит прогрессу.
  • Не бойтесь экспериментировать с разными подходами и идеями. Эти отработанные учебники, которые вы видите в Интернете, часто проходят много экспериментов, прежде чем их можно будет где-либо представить.
  • После того, как вы попробовали проект самостоятельно, посмотрите похожие проекты, чтобы учиться на чужих подходах.

По мере того, как вы будете проделывать эти шаги со все большим количеством проектов, вам станет легче выбирать правильные концепции для работы.

Остальное просто практика.

Ключевые вынос

Проекты могут быть одним из лучших и худших способов изучения JavaScript. Разница в сроках.

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

  • Во-первых, проекты во-вторых.
    Чтобы избежать ловушки проекта, сначала поиграйте с концепциями, а затем сделайте мини-проекты, основанные на этих концепциях. Таким образом, вы получите более глубокое понимание, лучшее удержание, больший импульс и более быстрый прогресс. Вы будете чувствовать себя менее подавленным, тоже.

  • Практика, как в реальной жизни.
    Чем больше вы практикуетесь в реальных условиях, тем меньше вероятность, что вы застрянете, когда придет время отказаться от учебников.

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

Теперь, когда ты здесь, что ты думаешь обо всем этом? Есть ли какие-либо вопросы, истории или опыт, которыми вы хотели бы поделиться об обучении программированию?

Не стесняйтесь, дайте мне знать в комментариях.