Наиболее распространенной проблемой, с которой вы столкнетесь, будучи новичком, изучающим программирование, является "ад обучения". Чтобы избежать этого ада, все будут советовать вам строить проекты. На первый взгляд, этот совет звучит великолепно, и это правильный совет. Однако, как только вы начинаете создавать свой первый проект, вы понимаете, что это в 10 раз сложнее, чем обучающие программы, и вы даже не знаете, с чего начать, не говоря уже о том, чтобы собрать все вместе.
В этой статье рассматриваются основные способы создания собственных проектов, чтобы вы могли начать претворять в жизнь свои мечты о программировании.
Новички часто расстраиваются из-за того, что не могут выбраться из ада обучения, и поэтому обращаются за советом. Но все, что они получают, это то, что разработчики хлопают им в лицо ответом на проект сборки, даже не задумываясь о том, что, если новичок не может даже воспроизвести учебник, как они собираются создавать свой собственный проект?
Вот ваше руководство по созданию программных проектов:
Шаг 1. Определение проекта
Первым шагом при планировании проекта является его определение. Когда вы определяете проект, вы задаете себе эти четыре вопроса.
- Что такое проект?
- Что такое MVP (минимально жизнеспособный продукт)?
- Что приятно иметь?
- Когда проект будет завершен?
Вот пример:
Проект приложения "Калькулятор"
Что это за проект? Проект калькулятора — это проект по созданию калькулятора, доступного в веб-браузере. Проект будет решен с использованием HTML, CSS и JavaScript. Это позволит пользователям вводить числа и вычислять результаты этих чисел на основе выбранной ими арифметической операции.
Что такое MVP? Минимально жизнеспособный продукт — это калькулятор, который отображается в веб-браузере и может выполнять операции сложения, вычитания, умножения и деления на основе ввода пользователя и показывать пользователю результат этого. уравнение.
Что хорошего в том, чтобы иметь?. В этом проекте приятно иметь стиль калькулятора, принимать нажатия клавиш в качестве входных данных, а не только нажатия кнопок пользователями, и добавлять операции более высокого порядка, такие как степень x'.
Когда проект будет завершен?. Проект будет завершен после реализации всех функций MVP и оформления калькулятора.
Определив проект, вы сделаете его менее пугающим. Получив определение проекта, вы можете приступить к следующему шагу.
Шаг 2. Создание рабочего процесса
Это самый простой шаг. Сначала вы захотите использовать что-то вроде Trello, Notion или любого другого бесплатного инструмента для управления проектами.
Мы настроили нашу доску Канбан с четырьмя колонками.
- To-do
- Делает
- Сделанный
- Ошибки / не знаю, как это сделать
В эти столбцы мы собираемся добавить карты. Когда мы работаем с карточками, мы перемещаем их в колонку выполнения, и как только мы закончим с этой карточкой, мы можем переместить ее в колонку выполнено. Если у вас есть ошибка, с которой вы застряли или не знаете, как что-то сделать, мы можем переместить ее в столбец ошибки/не уверен.
Этот рабочий процесс представляет собой суперупрощенную версию Канбана, и при работе в роли разработчика у вас, скорее всего, будет
больше столбцов, таких как тестирование, проверка кода, невыполненная работа и другие. Но для ваших собственных проектов и особенно в качестве
новичок, это хорошо справится с задачей и позволит вам достичь того, чего вы хотите, а именно создания проектов.
Теперь, когда у нас настроен рабочий процесс, мы можем перейти к последнему шагу, который больше всего меня озадачил, когда я учился программировать.
Шаг 3. Разбивка на более мелкие компоненты
Ключ к созданию собственных проектов начинается с разбиения большого проекта на более мелкие и менее пугающие компоненты. Эти более мелкие компоненты и стали нашими картами из шага 2.
Теперь это звучит достаточно просто, но когда я только начинал, мне не приходило в голову, что вы можете это сделать. Я думал, что большинство разработчиков только начинают программировать, и проект вытекает из них, как вы видите в фильмах. Я думал, что это то, что я должен уметь делать. Однако теперь, когда у меня появилась возможность поработать в отрасли, я знаю, что это определенно не так, на самом деле хороший разработчик разбивает этот проект на более мелкие задачи.
Тем не менее, новичку может быть трудно понять, как разбить что-то на более мелкие задачи. Если вы не знаете, как на самом деле построить проект, то как вы можете его разбить?
Ну, первое, что вам нужно сделать, это посмотреть на определение вашего проекта, а затем разбить его на более мелкие части.
Давайте продолжим использовать пример приложения-калькулятора для создания карт компонентов:
Функции расчета — MVP
Получение пользовательского ввода — MVP
Пользовательский интерфейс HTML — MVP
Стиль пользовательского интерфейса CSS — брызги ✨
Слушатели событий JavaScript — MVP
Добавление анимации для вычислений – посыпки ✨
Вы заметите, что каждой карточке мы присвоили метку либо MVP, либо посыпки, чтобы визуально помочь вам увидеть, какие карточки наиболее важны и, следовательно, над ними нужно работать в первую очередь. .
Самое большое преимущество карточек в том, что они упростили то, что мы уже должны делать. Это делает проекты менее пугающими, поскольку вы не создаете большое сложное приложение-калькулятор, а делаете 6 небольших проектов, которые объединяются в один большой проект.
Когда вы работаете над картой, вы перемещаете ее в колонку выполнения. Не торопитесь, чтобы заставить компонент работать, прежде чем перейти к следующей карте.
Но мы еще не закончили, мы можем еще больше упростить и улучшить наш рабочий процесс, чтобы убедиться, что размер проекта не блокирует нас при сборке.
Шаг 4. Разбейте каждый компонент на контрольные списки меньшего размера.
Получив карточки высокого уровня, мы можем снова разбить эти компоненты на более мелкие задачи, разбив эти задачи на контрольные списки, чтобы мы могли отслеживать наш прогресс.
В приведенном ниже примере показано, как работает мой мозг, поэтому вы можете разбить его на более мелкие или более крупные элементы в зависимости от того, что работает для вас. Давайте используем карту функций расчета в качестве примера того, как далее разбить компонент.
Поскольку задача является задачей MVP, и я определил MVP как базовые вычисления сложения, вычитания, умножения и деления, нам нужно добавить эти функции в контрольный список.
Теперь мы разбили нашу карточку функций вычислений на 4 небольших проекта, которые мы можем работать дальше. Насколько это проще, чем абстрактная и сверхсложная задача создания приложения-калькулятора или даже написания функций калькулятора (карточки).
Теперь мы можем сосредоточиться и выяснить, как сделать каждую из этих функций. По мере того, как мы это делаем, мы отмечаем эти пункты, что дает нам чувство выполненного долга и прогресса. Затем, когда мы выполнили все четыре из этих пунктов, мы можем переместить эту карту в столбец «Готово» и приступить к взлому следующей карты.
С этого момента нам просто нужно повторить процесс для каждой карты. Но вы не должны тратить кучу времени, пытаясь сделать так, чтобы каждая карта имела каждую задачу, что приводит меня к ошибке, которую я сделал в начале.
Шаг 5. Не зацикливайтесь на совершенствовании!
Когда вы разбираете свои карточки и задачи контрольного списка, не зацикливайтесь на попытках убедиться, что у вас есть все мелкие функции и детали.
Если вы сделаете это, вы, скорее всего, застрянете на этапах планирования и никогда не перейдете к этапу построения, иначе этап построения будет слишком жестким. Вам нужно пространство для маневра в ваших проектах.
Когда я работал над своими проектами, я обнаружил, что мне часто приходилось добавлять больше карточек и задач по мере продвижения. Это неизбежно, вы строите что-то в первый раз, поэтому вы не будете точно знать, что вам нужно построить, прежде чем начать.
Например, у вас может не быть карты стилей, когда вы впервые начинаете планировать свое приложение-калькулятор, и только после того, как вы закончите карточку скелета HTML, вы, вероятно, должны стилизовать приложение.
Так что не зацикливайтесь на том, чтобы сделать план идеальным, сделайте достаточно, чтобы вы могли начать и добавлять больше по ходу дела. Вы также можете использовать столбец ошибок/не знаю, чтобы поместить карты, которые вы еще не можете сделать или которые вы застряли, чтобы помочь вам продолжать двигаться.
Вывод
Теперь вы готовы начать свой собственный проект. Удачи!