1 - Учите тот язык, который вам нравится, а не тот, который сейчас вызывает шумиху

Это золотое правило: учись, развлекаясь или хотя бы любя то, что ты делаешь. Не зацикливайтесь на текущем языке. Если он вас выключит, вы никуда не денетесь. Более того, эта область развивается очень быстро. Например, Javascript был особенно дискредитирован до упоминания HTML5 и стал одним из столпов Интернета. Важно то, что выбранный вами язык стимулирует ваше любопытство и желание учиться. Также интереснее иметь разработчиков с несколькими аспектами, чем точно такие же профили. Более того, вы всегда найдете решение для достижения своих целей. Например, пара PHP и MySQL всегда отталкивала меня в бизнесе баз данных. Это не помешало мне преодолеть это, развлекаясь языками и метаязыками, такими как Rebol (теперь Red), Python и XML.

2. Найдите проект, который вам нравится, и успешно его осуществите.

Главный недостаток некоторых руководств или программ обучения - отсутствие конкретных случаев. Вас учат командам одну за другой, но связующего почти нет. Это похоже на заучивание слов, предложений без разговора. Например, я получил пощечину, когда впервые действительно ненадолго приехал в Англию. Ничего общего с английским в школе. К счастью, мне не потребовалось много времени, чтобы адаптироваться и погрузиться в большую языковую ванну. Поэтому большая цель - это проект, который вас увлекает, для которого вы найдете время и энергию, чтобы подумать, развиваться, возможно и обязательно сломать зубы. Не имеет значения, существует ли уже такое программное обеспечение. Самому всегда интереснее делать. Откликнитесь на потребность, желание. Например, создайте инструмент, дополняющий другое из ваших увлечений. Будь креативным.

3 - Дедраматизация

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

4. Шаг за шагом и делайте понемногу каждый день

10 минут в день или 5 часов каждые две недели не сделают вас разработчиком. Лучше каждый день учиться и практиковаться понемногу. Хорошая регулярность облегчает запоминание. С самого начала не стоит стремиться слишком высоко. Вы можете быть разочарованы. В области компьютерного программирования легко представить, что вы станете двуязычными в одночасье. Это требует немного больше терпения, но ваши усилия всегда будут вознаграждены.

5 - Как сделать паузу

Иногда необходимо знать, как временно отказаться от того, чем вы занимаетесь, чтобы вернуться к этому лучше. Если вы застряли перед компьютером, это не принесет вам вдохновения. Вы потеряетесь еще больше. Когда я больше ничего не понимаю, я очень часто отхожу от компьютера, беру лист бумаги и пытаюсь просто выразить свои мысли. Это позволяет мне видеть более ясно и находить место, где я потерялся в коде. Не стесняйтесь переходить к чему-то другому, к чему-то совершенно другому. Решение фрагмента кода, которое мучило мой разум, недавно явилось мне во время покупок, пачка лапши в моей руке ... Когда вы отключаете себя от деятельности, вы освобождаете мозг, который затем может «неосознанно» исследовать несколько альтернативных путей. . Двигайтесь, гуляйте, проветривайте разум, расслабьтесь перед хорошей книгой, комиксом или видеоигрой, и есть хороший шанс, что все будет ясно и вы скажете: «Черт возьми, это конечно!».

6 - Комментируйте, синтезируйте

Комментирование кода быстро становится необходимым. С одной стороны, чтобы объяснить, что вы делаете (особенно важно, когда вы только начинаете), а с другой стороны, как напоминание. Когда вы переходите от одного проекта к другому или берете кусок кода через шесть месяцев, важно иметь возможность быстро сориентироваться. Было бы стыдно тратить время на размышления о том, как работает программа. Точно так же с вами может случиться по x причин не писать естественным образом, а использовать уловку, бэкдор. Через полгода вы, скорее всего, удивитесь, почему вы не написали ту или иную функцию традиционным способом. Что вы будете делать непосредственно перед тем, как осознаете свою ошибку и «почему, как», что вы поступили иначе.

7 - Делайте заметки и обобщайте свои знания

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

8 - Протестируйте и поэкспериментируйте

В руководствах не всегда есть ответы на все вопросы, а иногда проблема, с которой вы сталкиваетесь, не задокументирована. Я часто беру в пример лабиринт на тренировках. Вы не застрянете в конце переулка. Вы повторяете свои шаги, чтобы проверить следующий путь, пока не найдете выход. В коде то же самое. Если он не работает с методом A, возможно, метод B будет правильным, или метод C, или метод D, или метод E ... Вы ничего не теряете, чтобы попробовать. Иногда даже лучше изолировать команду, протестировать ее вне вашей программы, чтобы убедиться, что вы поняли, как она работает, и что она точно соответствует вашим потребностям.

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

9 - Регулярно выполняйте резервное копирование и используйте управление версиями

Регулярное резервное копирование должно быть естественным рефлексом. Никто не застрахован от технических проблем или ошибок обработки. И до свидания, код, набранный в течение долгих лихорадочных минут ... Регулярно сохраняйте и не стесняйтесь создавать несколько файлов, каждый с номером версии. Это позволяет вам вести историю своего прогресса и легче выявлять ошибки. Если версия 0.43 вашего кода работала отлично, нет сомнений в том, что ошибки связаны с тем, что вы добавили в версию 0.44.

По соглашению версии с десятичными знаками называются «второстепенными», т. Е. Внесенные в них изменения несущественны. Версии с целым номером называются основными, потому что они считаются функциональными и вносят настоящие инновации в развитие. Если я сравниваю это с пешим туризмом, версии 0.43 и 0.76 показывают, что вы продвигаетесь по пути, версия 1.0 указывает, что вы достигли своей первой остановки, убежища Поющей совы на Большой Грозовой Горе. Версия 1.0 немного особенная, потому что это первая действительно функциональная версия.

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

Вы можете использовать онлайн-сервисы, такие как Git (и Framagit для французских читателей), чтобы сохранить код и упростить отслеживание истории, но для начала это может не понадобиться.

10 - Упростите, оптимизируйте свой код

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

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

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

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

11 - Сравните, изучите чужой код

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

12 - Задавать вопросы

Есть специализированные форумы, сайты со статьями. Проблема, над которой вы работаете, может не найти немедленного решения, но есть вероятность, что вы не единственный в своем случае или к ней приближается другая проблема. Проведя небольшое исследование и задокументировав вашу проблему, не стесняйтесь задавать вопрос на форуме, не без четкого объяснения ситуации, которая вас блокирует. «Не работает» никогда ничего не решает.