Как научиться быть программистом
Инструкция для тех, кто хочет стать программистом с нуля
Начать свой путь к карьере программиста стоит с ответа на вопрос, нужно ли вам программирование вообще? Этот вопрос не относится к тем, кто учится или учился по специальности, близкой к программированию. Если вам в школе математика давалась лучше, чем гуманитарные науки, если вам нравится проводить много времени за компьютером, если вам хочется изучать что-то новое, тогда программирование вам подойдёт.
С чего начать
Есть несколько вариантов развития событий, в результате которых человек становится программистом. Первый — родители-программисты, которые всему научили своих детей. Таким детям даже не нужно идти в университет. Второй вариант — модная профессия программиста. После школы нужно было выбрать, куда пойти учиться, и выбрали модное направление IT, вроде бы понравилось. И последний вариант — хобби, которое переросло в работу.
Если с вами ничего из вышеперечисленного не произошло, значит, у вас есть выбор из четырёх вариантов:
- Самообразование. Этот вариант можно использовать как самостоятельно, так и в паре с другими методами. В интернете полно сайтов, книг и приложений, которые помогают изучать различные языки программирования и технологии. Но это самый тяжёлый путь для начинающих.
- Университет. Если вы оканчиваете школу и хотите быть программистом, тогда идите в университет. Если не за знаниями, тогда за корочкой. Она может послужить бонусом при устройстве на работу. Хотя и какие-то знания вы тоже получите. Но не забывайте заниматься и самообучением. К выбору вуза стоит подойти очень ответственно. Внимательно изучите программы обучения и выбирайте лучшие технические вузы.
- Ментор. Будет очень неплохо, если вы найдёте человека, который согласится помочь вам и направит вас в правильную сторону. Он подскажет подходящие книги и ресурсы, проверит ваш код, даст полезные советы. Кстати, мы уже писали о полезном ресурсе, где вы сможете найти ментора. Наставника можно искать среди знакомых программистов, на IT-тусовках и конференциях, на онлайн-форумах и так далее.
- Специализированные практические курсы. Попробуйте поискать в своём городе курсы, где вас обучат какому-нибудь языку программирования или технологии. Я был приятно удивлён количеством таких курсов в Киеве, в том числе бесплатных и с последующим трудоустройством.
Какой язык, технологию и направление выбрать
Когда вы станете программистом, через годик-другой будете вольны выбирать любой язык, который вам нравится. Но при выборе первого языка программирования новичок должен учитывать следующие критерии:
- Наличие на рынке вакансий. Конечная цель этого пути — найти работу программистом. А это будет трудно сделать, если на рынке вакансий никто не будет искать разработчиков на вашем языке программирования. Проверьте сайты с вакансиями, посмотрите, кого больше ищут, выпишите десяток языков. И переходите к следующему критерию.
- Низкий уровень вхождения. Если вам придётся потратить длительное время на изучение языка, это может отбить у вас охоту к программированию вообще. Почитайте о тех языках, которые вы выбрали выше. Просмотрите литературу, которую нужно будет прочитать, чтобы изучить эти языки. И выберите те, о которых пишут, что они лёгкие, или которые вам показались лёгкими. Такими языками могут оказаться PHP, Ruby, Python.
- Кайф от процесса. Если вам не нравится писать код на выбранном языке, вы не будете получать удовольствия от этого процесса, от работы и от жизни. А оно вам надо? Делайте правильный выбор.
Также вам придётся определиться с направлением программирования. Мобильное, десктопное, игры, веб, низкоуровневое программирование и так далее. Самые популярные и относительно лёгкие отрасли — разработка под веб, мобильные и десктопные клиенты. Под каждое направление может подходить один язык и совсем не подходить другой. То есть при выборе языка программирования также стоит отталкиваться и от этого фактора.
В любом случае изучите веб-технологии. Это язык разметки HTML, стили CSS и JavaScript, который позволит сделать вашу страницу динамической. На следующем этапе изучите серверный язык (Python, PHP, Ruby и другие) и подходящие для него веб-фреймворки. Изучите базы данных: практически в каждой вакансии программиста это упоминается.
Как получить начальный опыт
Без опыта вы не получите работу. Без работы вы не получите опыт. Замкнутый круг реальной жизни. Но ничего страшного, мы из него выберемся.
Во-первых, не стоит ждать, пока вы прочитаете все книги по выбранному языку программирования. Начинайте писать свои первые строки кода уже после второй главы книги. Выполняйте все задания из книг, перепечатывайте примеры, разбирайтесь в них. Усложняйте примеры и задания из книг своими идеями. Создавайте свои задачи к пройденному материалу. Решайте эти задачи.
Во-вторых, вам нужно найти свои первые проекты. Это, наверное, самый сложный вариант, но рабочий. Вам придётся самому искать заказы, выполнять их, заморачиваться с оплатой. Для новичка это архисложно, но зато затем все остальные варианты покажутся плёвым делом. Выполненные проекты можно будет записать в опыт и показать вашему будущему работодателю. Реальные проекты являются большим плюсом в вашем резюме.
Если вы знаете английский язык, регистрируйтесь лучше на англоязычных биржах. Рынок там больше. Если не знаете английского, учите его. А пока что вам доступны русскоязычные биржи фриланса. Ищите небольшие проекты, которые соответствуют вашему уровню знаний или чуть выше него. Подайте заявку на пару десятков таких заданий. И приготовьтесь получить море отказов. Но если одна-две заявки выстрелят, у вас будет шанс получить реальный опыт.
Ещё одним неплохим вариантом для получения реального опыта является open source. Таким проектам всегда нужны новые люди, пусть даже и новички. Вы можете поискать в проекте баги или посмотреть в баг-трекере и предложить методы их решения. Найти такие проекты легко на GitHub или других сервисах для хостинга кода. Не стесняйтесь задавать там вопросы.
Четвёртый вариант получения опыта — помощь знакомым программистам. Попросите их передать вам маленькие и несложные задания. Если что-то не будет получаться, у вас всегда будет к кому обратиться. И при этом вы будете участвовать в реальном проекте.
Последний способ — собственные проекты, различные хакатоны или работа в коворкинге. Свои проекты сложно начинать самому, лучше поискать знакомых или друзей.
Почему стоит выбрать Python
Давайте немного подробнее поговорим о выборе первого языка программирования. Первый язык должен быть простым и популярным на рынке. Таким языком является Python. Я очень советую выбрать именно его в качестве первого языка программирования.
Код программы на Python читабелен. Вам даже не нужно быть программистом, чтобы в общих чертах понять, что происходит в программе. Из-за несложного синтаксиса Python вам понадобится меньше времени для написания программы, чем, например, на Java. Огромная база библиотек, которая сэкономит вам кучу сил, нервов и времени. Python является высокоуровневым языком. А значит, вам не нужно особо думать о ячейках памяти и о том, что там разместить. Python — язык широкого назначения. И он такой простой, что даже дети могут его выучить.
Справедливости ради стоит упомянуть и о других языках программирования. Java может стать неплохим выбором для новичка. Этот язык популярнее, чем Python, но и немного сложнее. Зато инструменты для разработки гораздо лучше проработаны. Стоит только сравнить Eclipse и IDLE. После Java вам будет проще перейти к работе с низкоуровневыми языками программирования.
PHP — ещё один очень популярный язык. И, мне кажется, он даже проще, чем Python. Очень легко найти себе ментора или решение какой-нибудь проблемы на форуме. Всё потому, что в мире существует огромное количество PHP-программистов разного уровня. В PHP нет нормального импорта, есть множество вариантов решения одной и той же задачи. А это усложняет обучение. И PHP заточен исключительно под веб.
Языки C и C# очень сложны для новичка. Ruby — хороший выбор в качестве второго языка, но не первого. JavaScript — очень простой язык, но ничему хорошему он вас не научит. А задача первого языка программирования всё-таки научить вас чему-то правильному, задать какую-то логику.
Важен ли английский язык
Важен! Не знаете? Учите. Знаете? Совершенствуйте. Учитесь читать, писать, слушать и говорить на английском. Делайте упор на техническую литературу. Слушайте англоязычные подкасты. Читайте англоязычные учебники по программированию.
Что нужно знать, кроме языка программирования
Конечно же, кроме языка программирования и английского, нужно знать что-то ещё. А вот что — зависит от направления, которое вы выберете. Веб-программист обязан знать HTML, CSS, JavaScript. Десктоп-программист учит API операционной системы и различные фреймворки. Разработчик мобильных приложений учит фреймворки Android, iOS или Windows Phone.
Всем нужно выучить алгоритмы. Попробуйте пройти курс на Coursera или найти подходящую для себя книгу по алгоритмам. Кроме этого, нужно знать одну из баз данных, паттерны программирования, структуры данных. Стоит также познакомиться с репозиториями кода. Хотя бы с одним. Обязательно знание систем версионного контроля. Выбирайте Git, он самый популярный. Вам нужно знать инструменты, с которыми вы работаете, операционную систему и среду разработки. И главный навык программиста — уметь гуглить. Без этого вы не проживёте.
Последние шаги
Вам нужно подготовить резюме. Не просто резюме, а хорошее резюме. Не стоит писать там лишней информации, но и умалчивать о своих умениях тоже не нужно. После того как вас пригласят на интервью, вы должны к нему подготовиться. Пройдитесь по материалу, который указан в вашем резюме. Вы должны быть уверены в своих знаниях. Просмотрите проекты, над которыми вы работали, вспомните технологии, которые вы применяли. И вперёд — к светлому будущему с новой профессией программиста.
Как научиться программированию? [Руководство для начинающих]
Введение
Обучение программированию - это новый популярный навык в наши дни. Он настолько востребован, что даже средние школы добавили программирование в свои учебные программы. Программирование и кодирование часто используются как взаимозаменяемые, но оба они разные, и вы можете прочитать о них здесь . Поскольку каждая рутинная работа переводится в цифровую форму и становится умной и автомобильной с технологией ИИ, обучение программированию стало необходимостью целой эпохи.
Все, о чем вы только можете подумать, можно сделать с помощью приложения или веб-сайта, от заказа такси, еды или покупок в Интернете до просмотра фильмов или даже прохождения курса и игровых навыков. При оцифровке приложений также возрастает спрос на разработчиков и программистов, и, следовательно, изучение языка программирования будет полезным. В этой статье рассказывается, как выучить язык программирования по вашему выбору и как правильно начать свое путешествие по программированию. Итак, приступим!
Как научиться кодировать
Прежде чем мы начнем читать дальше, позвольте мне напомнить вам, что вы выбрали путь, который требует терпения и мотивации, чтобы никогда не сдаваться, несмотря на трудности на пути.Прочтите и выполните следующие действия, чтобы стать программистом.
Изучение основ программирования
Первый и самый важный шаг - выбрать язык для изучения. Рекомендуется начать с Python, поскольку он прост, как и английский, и настолько прост в освоении, что вы можете ознакомиться с одним из лучших руководств по Python и начать работу. Но вы можете выбрать тот язык, который вам интересен, а также исходя из проекта, который вы хотели бы развивать в будущем. Поэтому, если вы планируете разработать мобильное приложение, вы можете начать с Java или Kotlin для Android и Swift для iOS, а если вы хотите создать веб-сайт, для начала рекомендуется использовать Javascript.Для профессии в области науки о данных языки AI и ML, Python и R.
Вы можете изучать языки одним из следующих двух способов:
1. Через интерактивные веб-сайты
Веб-сайты, такие как Codecademy и Freecodecamp, рекомендуются для интерактивных сеансов программирования. Они были созданы с мыслью, что многие новички застревают в самом начале, когда начинают учиться программировать при настройке среды разработки. Эти веб-сайты предлагают онлайн-текстовые редакторы и компиляторы, позволяющие мгновенно начать кодирование.
2. С помощью видеоуроков
Если вы человек, которому нравится подробное изучение с пошаговыми инструкциями, мы рекомендуем вам зарегистрироваться в любом онлайн-руководстве по программированию, которое с самого начала научит вас устанавливать и загружать необходимую среду IDE для базовых концепций языка, а в конце Capstone Project, чтобы проверить свои навыки программирования. Некоторые учебные пособия и курсы также предлагают сертификаты, которые могут помочь вам позже, когда вы будете искать работу. Мы рекомендуем Pluralsight и Lynda для поиска руководств для начинающих по предпочитаемому языку.Вы также можете ознакомиться с некоторыми популярными учебниками на Hackr.io.
Сосредоточьтесь на изучении основ программирования
Всегда рекомендуется укреплять свои основы, чтобы стать профессиональным программистом. Тщательно изучите основы и попробуйте свои силы в коде, создавая собственные проблемы и решая их. Чтобы начать изучение, сделайте акцент на следующих темах, поскольку они распространены почти во всех языках.
- Типы данных
- Переменные
- Функции
- Массив или списки
- Если заявления
- Условные петли
- Классы и объекты
- Обработка исключений
- Деревья, карты и многое другое.
Создайте свой первый проект
Создание личного проекта - лучший способ проанализировать и изучить то, что вы узнали. Построение проекта по вашему выбору даст вам практический опыт изучения языка во многих деталях, поскольку вы столкнетесь с реализацией понятий, которые вы узнали ранее, а также узнаете, как развернуть проект для использования вами и всеми остальными. Более того, когда вы создаете свои проекты, добавляйте его в свой профиль или учетную запись GitHub, это поможет вам в будущем, когда вы будете искать работу в разработке.
Самый большой вопрос, который возникает на этом этапе:
Как выбрать проект?
Именно здесь большинство людей застревают на этапе принятия решения, так что же строить? Решение простое. Посмотрим на это ниже:
1. Выберите то, что вас интересует
Будь то учеба или программирование, вы должны делать то, что вас больше всего интересует. Вы должны получать удовольствие от выбранной вами области проекта, чтобы вы были увлечены ею и поддерживали ее до тех пор, пока не были созданы.Если вы выберете что-то, что вас не интересует, вы можете отказаться от своего проекта на середине, так как в конечном итоге вы можете потерять к нему интерес. Так что выберите то, что держит вас в руках, например, если вы любите играть в игры, вы можете просто разработать видеоигру по своему выбору. Точно так же, если вам нравится фотография, вы можете создать свой веб-сайт портфолио, демонстрирующий свои работы, или если вы тот, кто заинтересован в торговле, вы можете разработать приложение или веб-сайт для анализа ваших биржевых диаграмм.Проанализируйте и подумайте, что вам нравится, прежде чем начинать строить.
2. Начните с простого
Уверенность в своих силах - это хорошо, а излишняя самоуверенность - нет. Поэтому рекомендуется начинать с простых и легких проектов, чтобы лучше изучить язык, прежде чем погрузиться в создание сложных проектов.
Например, если вы решили создать видеоигру, не сразу начинайте со сложной видеоигры League of Legends, вместо этого начните с чего-то вроде крестиков-ноликов, или если вы хотите создать веб-сайт, не начинайте с создания чего-то вроде Amazon. или Facebook вместо этого сделают что-нибудь попроще, например, список дел.
3. Создайте что-нибудь полезное для себя и общества
Будьте изобретательны и создайте что-то полезное для вас и интересное для сообщества. Создание чего-то интересного для сообщества дало бы возможность иметь несколько загрузок или зрителей для вашего проекта, и таким образом у вас будет что продемонстрировать, а также у вас будет преимущество перед другими кандидатами при поиске работы.
Несколько идей для начала
Если вы не знаете, с чего начать, у нас есть несколько идей для начала строительства вашего проекта.Вы можете начать с простого веб-сайта, например, составить список дел, или, если вы хотите создать игровое приложение, такие игры, как тетрис, судоку и летающая птичка, хороши для начала с изучения программирования.
Если вам нужно что-то сложное, вы можете подумать о создании веб-сайта, похожего на Twitter, но с не таким большим количеством функций, как предлагает Twitter, но с некоторыми базовыми функциями, такими как твиттер и подписка. Hackr дает вам множество проектных идей для нескольких языков, от начального до продвинутого.Ознакомьтесь с проектами на разных языках здесь:
Чувствуете, что застряли?
Придет время, когда вы будете разрабатывать проекты, которые, по вашему мнению, застрянут, это может быть что угодно: ошибки, сбой вашей программы без каких-либо сообщений или даже нормальное выполнение кода, но не выдача желаемого результата, вы можете быть настолько беспокойными, что возможно, вы захотите сдаться. Что вы делаете в таких случаях? Не сдавайся! Сохраняйте мотивацию и помогайте учитывать нижеприведенные моменты, чтобы продолжить работу над вашим проектом.
1. Научитесь правильно определять ошибку в Google
Это важный шаг, который вы должны освоить. Поиск и просмотр ошибок в вашем коде поможет вам исправить ваш код в течение нескольких минут, но, с другой стороны, если вы не владеете этим навыком, это будет похоже на погружение в водоворот кода без карты. Совет, которым я хотел бы поделиться, заключается в том, что перед поиском в Google заключите ошибку, сгенерированную вашим компилятором, в двойные кавычки («»). Таким образом, Google будет специально указывать ошибку как одно и то же предложение, и это даст очень точный отфильтрованный результат.
2. Популярные сайты, которые помогут вам
Такие сайты, как Stack-Overflow и Reddit, возглавляют здесь чарты, чтобы направлять разработчиков по всему миру своим кодом. Это полноценное сообщество разработчиков со всех сторон, которые приходят помогать друг другу в своих проектах. Если вы разместите здесь свои сомнения, то на получение ответа может уйти даже 2-3 недели, но это того стоит, хотя вы, возможно, уже найдете решение своей ошибки, поскольку многие люди могли сталкиваться с той же ошибкой раньше.Также предлагается ответить на некоторые вопросы, которые помогут вам помочь другим, и таким образом вы также будете учиться.
3. События и встречи
Этот шаг может быть трудным для начала, поскольку он требует от вас выхода из зоны комфорта, но поверьте мне, как только вы начнете его делать, вам это понравится. Итак, начните с поиска людей, которые имеют схожие интересы с вашими, и познакомьтесь с ними или, возможно, поработайте с ними. Вы можете попробовать поискать «события кодирования» на странице своего мероприятия в Facebook или посетить сайт встреч и связаться с людьми, чтобы узнать больше.
Получите работу или стажировку
Наконец, многие изучают языки программирования, чтобы в итоге работать разработчиками. Поэтому, когда вы достаточно уверены в себе или считаете, что знаете некоторые основы программирования, вы можете вступить в индустрию разработки, начав со стажировки. Начните работать в качестве оплачиваемого или неоплачиваемого стажера в проекте, который вас интересует, или вы можете даже помогать или работать с опытным разработчиком, чтобы научиться. Работа в качестве стажера дает вам возможность учиться и совершенствовать свои навыки, а иногда даже получать деньги.Даже если у вас нет проблем, у вас есть возможность сделать свою сеть в отрасли для будущих рекомендаций и размещения.
Вы можете начать поиск стажировки следующими способами:
- LinkedIn: Это самый надежный источник, который достигает широкой аудитории и может помочь вам найти различные варианты стажировки, которые вас интересуют.
- Ярмарки вакансий: Они очень полезны, поскольку у вас есть возможность лично встретиться с рекрутерами и, следовательно, обсудить ваши интересы и проанализировать, интересует ли вас проект.
- Сеть: Это наиболее рекомендуемый способ пройти стажировку. Когда вы попадаете на работу по чьей-то рекомендации, вы наверняка получите преимущество перед другими кандидатами, поскольку они склонны легко доверять вам, если кто-то из этой фирмы порекомендует вас. Вы можете создать свою сеть, посещая мероприятия и встречи, как описано выше.
Дипломы или учебные курсы по информатике: что полезно для обучения программированию?
Следует ли учиться по программе получения степени или в Bootcamp? Это частый вопрос, который задают те, кого вы начинаете учить программировать.На этот вопрос нет определенного ответа, поскольку он полностью зависит от человека к человеку, а также от их способности к обучению. Чтобы помочь вам, если вы ученик старшей школы, который еще не поступил в аспирантуру, и программирование - это карьера, тогда вы должны получить степень в области компьютерных наук, но если информатика и кодирование - это то, что вас позже заинтересовало карьеры, то вы можете пойти на Bootcamp по языку программирования по вашему выбору. Тем не менее, также рекомендуется начать с платного или бесплатного онлайн-курса, чтобы получить представление о программировании, прежде чем тратить деньги на Bootcamp, поскольку они дороги.
Заключение
На этом мы подошли к концу руководства по обучению программированию. Я надеюсь, что после прочтения этой статьи вам будет предложено научиться программировать и начать писать код для вашего первого проекта. Мы в Hackr.io составили шорт-лист лучших курсов практически для всех языков программирования, которые вы, возможно, захотите изучить. Так что готовьтесь и начните свой путь к тому, чтобы стать разработчиком. У вас есть другие советы, которыми вы хотели бы поделиться с другими участниками сообщества программистов? Дайте нам знать.Удачного кодирования!
Еще читают:
.10 эффективных способов стать хорошим программистом
Хороший программист - это тот, кто всегда смотрит в обе стороны, прежде чем перейти улицу с односторонним движением. ~ Дуг Линдер
Работа программистом в ИТ-индустрии, то, что ежедневно заставляет нас приходить на работу; разве это увлечение и страсть заключаются в программировании? Но чтобы сделать программирование увлекательным и получать от него вечный восторг, нужно изучить некоторые основы, которые сделают вас хорошим программистом, и придерживаться их.
Я не пишу мантры, которым вы можете следовать, чтобы стать хорошим программистом, но намерение состоит в том, чтобы собрать список полезных советов, которые я изучил и реализовал в отрасли для получения хороших результатов. Нет определения хорошего программиста, но здесь мы имеем в виду категорию программистов, которые разработали отличные ИТ-решения и помогли в общем росте этой отрасли.
1.Работа по основам
Как это верно для любой отрасли и любой работы, концептуальное понимание является ключом к успеху.Без прочной концептуальной основы он / она никогда не сможет стать хорошим программистом. Основное концептуальное понимание помогает вам разрабатывать и реализовывать лучшие решения наилучшим образом. Если вы все еще чувствуете пробел в основных информатике и конкретных концепциях языка программирования, никогда не поздно вернуться и пересмотреть основы.
2. Начните ставить вопросительные метки (как, что) с каждым набором кода, который вы пишете
Одна вещь, которую я понял, проводя четкую границу между хорошим программистом и отдыхом, - это рвение знать, что и как это происходит.Есть небольшая группа людей, которые никогда не могут покинуть код, не зная точно, что происходит, когда он выполняется. Я понимаю, что в сжатые сроки мы не всегда получаем эту свободу и, следовательно, должны оставить код, просто зная, что он выполняет свою работу. Хотя это немного другая тема о том, как справляться с такими ситуациями, но как программист всегда можно попробовать лучший уровень, чтобы вникнуть в как можно больше. И поверьте мне, со временем это становится привычкой, и вы делаете это каждый раз неосознанно.
3. Вы узнаете больше, помогая другим
У большинства из нас есть обычная тенденция поворачивать голову в сторону форумов или групп только тогда, когда нам нужна помощь. И снова четкое разделение между хорошим программистом и отдыхающим, чтобы бывшие чаще посещали эти места, чтобы помочь другим. Это заставляет их узнать больше, чем они узнают, чтобы их проблема решала кто-то другой. Также в команде помогайте другим решать их проблемы. Поверьте мне, понимая проблемы других в их контексте, исследуя их и предлагая решения; оставит вам гораздо больше знаний, чем раньше.
4. Напишите простой, понятный, но логичный код
Как и почти во всех сферах жизни, формула KISS (Будь простым и кратким) работает и в программировании. Пишите более логичный код и избегайте сложностей. Иногда люди пишут сложный код только для того, чтобы доказать свою способность писать такие коды. Мой опыт показывает, что простые, но логичные коды всегда работают хорошо, вызывают меньше проблем и их легче расширять. Помню отличную цитату
Хороший код - это лучшая документация по себе.Когда вы собираетесь добавить комментарий, спросите себя: «Как я могу улучшить код, чтобы этот комментарий не нужен?» ~ Стив МакКоннелл
5. Потратьте больше времени на анализ проблемы, вам понадобится меньше времени на ее устранение
Уделите больше времени пониманию и анализу проблемы и поиску решений для нее. Вы обнаружите, что все остальное довольно легко сделать. Проектирование не всегда означает использование языков и инструментов моделирования, это может быть так же просто, как смотреть на небо и обдумывать решение в уме.Те, у кого есть привычка нажимать на клавиатуру (для кодирования), в тот момент, когда возникает проблема, обычно заканчиваются чем-то другим, чем требовалось.
Если вы не можете понять общую структуру программы, принимая душ, вы не готовы ее кодировать. ~ Ричард Паттис
6. Будьте первым, кто проанализирует и пересмотрит свой код
Хотя это немного сложно, но попробуйте взломать свой собственный код раньше других, и со временем вы научитесь писать код, почти не содержащий ошибок.Всегда внимательно и беспристрастно проверяйте свой код. Также никогда не стесняйтесь узнать мнение других о вашем коде. Работа с хорошими программистами и их отзывы обязательно помогут вам стать хорошим программистом.
7. Не отчаивайтесь, глядя на меняющийся мир технологий
За эти периоды в ИТ-индустрии я встречался со многими людьми, которые либо разочарованы своей работой, либо даже бросили ее в поисках новой работы, заявив, что хотят учиться и работать в сфере новейших технологий.Я не вижу проблем с этим стремлением, но первое неправильное слово - «новейшие технологии». То, что мы слышим каждый день и имеем в виду, это новые инструменты, API, фреймворки и другие средства, которые появляются каждый день, чтобы сделать программирование проще и быстрее. В любом случае это будет продолжаться в мире технологий. Но нужно понимать, что ядро и базовые технологии меняются гораздо медленнее, чем фреймворки, инструменты и API вокруг них. Это похоже на море, где поверхностная вода движется очень быстро, но глубина относительно спокойная и концентрированная, и здесь выживает большая часть водных организмов.Так что почувствуйте себя в этой глубокой воде и рядом с основными технологиями. Для е. грамм. В корпоративном мире Java существует множество веб-фреймворков, и каждые две недели появляются новые. Но основные концепции взаимодействия клиент-сервер на основе запросов, шаблона MVS, фильтров / сервлетов / JSP, объединения ресурсов, синтаксического анализа XML и т. Д. Остаются прежними. Так что потратьте больше времени на изучение этих основных понятий, а не на беспокойство о том, чтобы когда-либо менять фреймворки и инструменты вокруг них. Поверьте, с базовыми концепциями вам всегда будет легче изучать новые фреймворки, инструменты и API.
8.Работы долго не работают
Часто программисты применяют обходные решения (может быть, из-за нехватки времени, непонимания проблемы или отсутствия опыта работы с технологиями). Но в течение определенного периода эти временные решения всегда приводили к повреждению кода, делая его менее расширяемым и поддерживаемым и много времени впустую. Всегда предпочитайте внедрять, когда знаете, что есть в решении. Я понимаю, что в некоторых обстоятельствах это становится неизбежным, но это похоже на то, что нужно всегда говорить правду, а в некоторых случаях - ложь.
9. Читать документацию
Одна из основных привычек хорошего программиста - это чтение большого количества документации. Это могут быть спецификации, JSR, документы API, учебники и т. Д. Чтение документов поможет вам создать ту важную основу, на которой вы будете программировать наилучшим образом.
10. Вы также можете узнать код других людей
Я общался с некоторыми отличными программистами, у которых на самом деле все время есть исходный проект Java в своей среде IDE, и я читал / ссылался на него в повседневной работе.Они делают это не только для того, чтобы удовлетворить свой аппетит к знанию основ, но и для того, чтобы научиться писать хорошие программы. Чтение и ссылки на надежный и известный открытый исходный код или код вашего старшего руководства также могут помочь вам улучшить ваше программирование.
И последнее, не указанное выше: не сравнивайте себя с другими
Ваше сравнение себя с другими приведет только к развитию негативных чувств и нездоровой конкуренции. У каждого есть свои сильные и слабые стороны.Более важно, чтобы мы понимали свое и работали над этим. Я много раз видел, что так называемые «программисты-финансисты» (принципиально сильные программисты) также совершают глупые ошибки. Итак, проанализируйте себя, перечислите области, в которых вы хотите улучшить, и работайте над этим. Программирование - это настоящее развлечение, наслаждайтесь.
Любой дурак может написать код, понятный компьютеру. Хорошие программисты пишут код, понятный людям. ~ Мартин Фаулер
Из http: // ashisharya2003.blogspot.com/2010/12/10-effective-ways-to-become-good.html
.5 уроков, чтобы стать действительно хорошим программистом-самоучкой
Вы решили начать программирование. Куда ты идешь? Эти пять курсов Udemy предлагают прочную основу для изучения основ программирования.
Программисты сейчас веселее. Хорошо, это может быть не совсем так, и это не должно быть единственной причиной, чтобы стать программистом, но это то, что нужно учитывать. Почему ты хочешь быть программистом?
Во-первых, это может быть самая важная работа в будущем.Хотя наблюдение за кристаллами сопряжено с риском, это один из выводов, основанный на данных с таких сайтов, как LinkedIn. Все 10 лучших навыков связаны с технологиями:
«Хотя некоторые навыки истекают каждые пару лет, наши данные убедительно свидетельствуют о том, что технические навыки будут необходимы в течение многих лет в каждой отрасли."
Изучите логику программирования, чтобы стать первой точкой опоры. Станьте программистом-самоучкой, чтобы оставаться конкурентоспособным в любой отрасли. Эти пять курсов Udemy из нашей продолжающейся серии помогут вам получить полное представление о том, как и зачем нужен код.
Основной урок: Изучите два основных инструмента компьютерного программирования еще до того, как писать код.
Псевдокод - это суть программы. Это не реальный алгоритм, а неформальное определение того, что войдет в программу. Думайте об этом как о карте города. «Город» - это актуальная программа. И все мы знаем, что такое блок-схема - схема, которая показывает вам поток программы.Вы можете сделать их на бумаге или использовать множество бесплатных инструментов для создания блок-схем, доступных сегодня.
Эти два навыка войдут в ваш набор инструментов.Как сказано в описании курса, вы можете использовать их, чтобы взять задачу или проблему, разбить ее на части и точно представить решение в формате блок-схемы или псевдокода.
Шестичасовой курс не попросит вас написать какой-либо код на определенном языке программирования.Это только заставит вас понять, как любую проблему можно решить с помощью ряда логических шагов. Усвоенные уроки позволят вам уверенно овладеть любым языком программирования.
Ключевой урок: Как самостоятельно освоить профессиональное программирование.
Вы слышите новости о подростках и подростках, создающих успешные приложения. Да, вам не обязательно заканчивать престижный университет, чтобы стать программистом и устроиться на работу. Или мечтаете о карьере в сфере технологий с гуманитарным образованием.Программирование как отрасль предлагает низкий барьер для входа, но проверяет вашу способность решать и придумывать решения реальных практических проблем.
Курс короткий - всего час.Но это даст вам направление и план для вашего пути в технологическую индустрию. Это также заставит вас задуматься о причинах, по которым вы в первую очередь хотите стать программистом. Суть курса заключается в концепциях, которые вам необходимо освоить, и сертификатах начального уровня, которые вам нужно получить, чтобы заполнить пробелы в резюме.
Основной урок: Разберитесь, как работает программирование (с аналогиями из кулинарии).
Программисты должны научиться готовить. Или поварам стоит научиться программировать. Увы, в реальном мире так редко получается. Но если вы хорошо готовите и начинаете программировать, вы заметите сходство.Потому что для обоих навыков нужны две основные вещи: ингредиенты и подготовка.
Аналогия ничем не примечательна. Об этом было сказано раньше. Тимоти Кенни превратил его в курс, представляющий собой набор модулей.Он программист-самоучка, поэтому знает, откуда вы. Начните с основ, а затем загляните в Python. Затем откройте для себя концепции оборудования и, наконец, завершите их с помощью больших данных и искусственного интеллекта.
Этот суперкурс больше всего на свете расскажет вам, в чем заключаются ваши истинные интересы.Затем вы можете решить, на какой нише сосредоточиться.
Основной урок: Разберитесь в основных понятиях хорошего программирования.
Есть простые языки программирования, которые можно выучить. Есть также сложные, с которыми вам нужно будет справиться позже. Но весь код разделяет некоторые общие концепции, особенно когда мы говорим об объектно-ориентированном программировании.Изучая основы, вы можете заглянуть в мир разработки приложений и игр для iOS. Затем вы можете решить, подходит ли вам Swift или вы предпочтете альтернативную среду разработки.
Курс достаточно короткий, чтобы вы могли уверенно двигаться вперед.Но имейте в виду, что Swift продвинулся вперед, и курс ожидает обновления. Курс имеет хорошие оценки, но есть и другие классы Udemy, которые вы можете освоить по программированию на Swift.
Основной урок: Реализуйте идею продукта дешево, быстро и легко.
Возможно, вам не терпится создать собственное приложение или онлайн-сервис. Вы просто не хотите прикладывать усилия, чтобы выучить для этого все разные языки.Или вы хотите добавить немного деловой хватки к своим навыкам программирования. Кодирование не для всех, но как предприниматель вы можете принять участие в его прибыльном потенциале. Получите за плечами несколько концепций бизнеса и стартапов.
Чтобы научиться хорошо кодировать, требуются годы.Научиться зарабатывать деньги с помощью идеи быстрее. Этот курс покажет вам, как тестировать и реализовывать свои идеи без посторонней помощи. 15 часов обучения также полезны для любого начинающего программиста, потому что они вовлекут их в экономический потенциал своих навыков и любых будущих идей. Так начинаются стартапы или даже побочные дела.
Почему вы хотите кодировать?
Это первый ответ, который вам следует искать.После этого все может встать на свои места. Если вы все еще не определились, проведите несколько экспериментов. Пройдите один из курсов или даже множество бесплатных уроков по Udemy или попробуйте практические проекты по программированию.
Превратите программирование в хобби и посмотрите, нравится ли вам весь процесс обучения, особенно те его части, где вас не устраивает логика или ошибка.Эти курсы Udemy не такие глубокие, как степень по информатике. Но они позволят вам быстро учиться или терпеть неудачу, чтобы вы могли быстро перейти к следующему делу.
Кроме того, на Udemy каждый платный курс, который вы посещаете, включает:
- Пожизненный доступ.
- 30-дневная гарантия возврата денег.
- Свидетельство об окончании.
Что заставило вас полюбить программирование? Если вы начинающий программист, есть ли опасения, которые вас сдерживают?
Кредит изображения: shawn_hempel / Depositphotos
Вы еще не заблокировали YouTube Kids? Вот еще несколько веб-сайтов, которые все родители должны блокировать ради своих детей.
Об авторе
Сайкат Басу - заместитель редактора по Интернету, Windows и производительности.После того, как он избавился от грязи MBA и десятилетней маркетинговой карьеры, он теперь увлечен тем, что помогает другим улучшить свои навыки рассказывания историй. Он ищет пропавшую оксфордскую запятую и ненавидит плохие скриншоты. Но идеи фотографии, фотошопа и производительности успокаивают его душу.
Ещё от Saikat BasuПодпишитесь на нашу рассылку новостей
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Подтвердите свой адрес электронной почты в только что отправленном вам электронном письме.
.Как стать программистом: 8 шагов к созданию приложения с нуля
Введение
«Как лучше всего научиться программировать?»
«Как стать программистом»
«Как создать приложение»
Это общие вопросы, которые каждый день задают новички, которые хотят научиться программировать. Несомненно, вы уже погуглили что-то в этом роде и прочитали достаточно статей / ответов до такой степени, что вам надоели «стандартные» советы.
Если у вас нет, или если вы почему-то думаете, что я хочу сказать что-то новое и все равно хотите это услышать (я не знаю), вот короткий и почти бессмысленный ответ (я дам ему SEO-ориентированный клик - название приманки: «3 шага к тому, чтобы стать программистом»):
Шаг 1. Выберите язык
Шаг 2: Изучите язык
Шаг 3: Собирайте материал и продолжайте учиться
Эй, не бросайся в меня. Как бы я ни хотел сказать, что существует универсальный метод обучения программированию, на самом деле его нет.(Позвольте мне добавить Шаг 0: признаю, что все учатся по-разному).
Бесчисленные более подробные ответы на шаги 1 и 2 уже существуют в Интернете, но общий ответ на первый шаг - изучить Python или Ruby в качестве своего первого языка (не слишком зацикливайтесь на языке, вы никогда не получите началось). Если вам нужны учебные ресурсы, мы подготовили несколько руководств, которые вы можете проверить:
Некоторые из вас дойдут до этого момента:
Если у вас есть момент, когда вы превратились в заблудшую овцу, не волнуйтесь, потому что вы не одиноки.
Практически каждый раз, когда вы спрашиваете: «Как мне стать программистом?», Разработчики говорят вам создавать что-то, поскольку создание вещей - это то, как вы можете улучшить как программист, и это лучший способ учиться и так далее.
Но как создать собственное приложение?
Вы всегда можете следовать существующим руководствам о том, как создать клон Twitter / Pinterest / Instagram / и т. Д. На любом языке и технологиях, которые вы используете, но имейте в виду, что авторы этих руководств фактически сделали большую часть работы за вас, и все, что вы делаете, это понимаете код и их логику.
В этой статье сделана попытка предоставить вам схему, которой вы можете следовать при создании своего собственного приложения с нуля.
Предварительные требования
Большинству приложений потребуется база данных, поэтому, если вы собираетесь создавать собственное приложение самостоятельно (например, интерфейс и серверную часть), вам, скорее всего, придется знать язык запросов к базе данных (обычно SQL). Если только вы не создаете что-то, что не требует взаимодействия с базой данных, например, Flappy Bird.
Более того, если вы хотите создать веб-приложение, вам нужно знать некоторые базовые навыки DevOps, чтобы иметь возможность настроить среду / сервер разработки и иметь возможность запускать приложение.
Если вы хотите стать только интерфейсным веб-разработчиком, вы можете отточить свои навыки HTML, CSS и JavaScript в Codepen или JSfiddle. Если вы знаете только JavaScript и не хотите изучать другой язык, вы можете попробовать Node.js, поскольку это платформа JavaScript для внутренней разработки (вы также можете использовать MongoDB в качестве своей базы данных, поскольку она также основана на JavaScript).
В противном случае вам также следует знать один из следующих языков (и обычно веб-фреймворк), если вы собираетесь создать полное веб-приложение:
- Рубин
- Python
- PHP
- Ява
- Перейти
- C #
Если вы хотите создавать игры, вы можете рассмотреть возможность изучения Lua, хотя C # также является очень хорошим выбором благодаря движку Unity 3D и его огромному сообществу.Что касается разработки собственных мобильных приложений, вам необходимо знать Swift / Objective-C для разработки под iOS и Java для разработки под Android.
Без лишних слов, давайте перейдем к созданию приложения с нуля.
Шаг 0: Разберитесь в себе
Прежде всего, создайте то, что вам нравится. Интерес - лучший способ сохранить мотивацию, поэтому спросите себя, что вас волнует или чем вы любите заниматься.
Например:
- Какие приложения вам больше всего нравятся?
- Без каких приложений вы не можете жить?
- Вы любите играть в игры?
- Вам нравится конструировать вещи?
- и т. Д.
Определите свои интересы, чтобы работать над тем, что вам нравится. Таким образом, вы с меньшей вероятностью сдадитесь на полпути.
Шаг 1. Выберите идею
Теперь, когда вы, надеюсь, разобрались, пора выбрать идею для воплощения. Простой старт .
Да ... даже если вы думаете о создании игры, прямо сейчас вам не следует думать о создании следующего CounterStrike, а вместо этого вам следует думать о том, как создавать игры, столь же простые, как печально известная Flappy Bird.Эй, не смотри свысока на Flappy Bird - это была сенсация, которая заставила людей во всем мире открыть для себя своего внутреннего мазохиста. Но я отвлекся.
Итак, исходя из ваших интересов, придумайте простое приложение, которое будет делать что-нибудь полезное. Не имеет значения, существует ли приложение уже (на самом деле, оно может помочь вам, если подобные проекты уже существуют).
Вот несколько указателей, которые помогут вам получить вдохновение:
- Если вам нравится готовить, возможно, вы захотите создать приложение, в котором люди будут демонстрировать свои домашние рецепты.
- Если вы всегда хотели знать, как работает Twitter, попробуйте создать суперпростой клон Twitter.
- Если вы забывчивый человек, который полагается на менеджеров задач, попробуйте создать их самостоятельно.
- Если вы пристрастились к League of Legends, вы можете попробовать использовать Riot API и создать сайт, который сможет получать и отображать информацию об игре.
- Если вам нравится играть в карточные игры, попробуйте собрать простую (например, Блэк Джек).
- Если вы сидите на диете, попробуйте создать приложение, которое будет регистрировать количество потребляемых вами калорий.
И так далее, и так далее. Вот список идей для проектов, если вам нужно больше вдохновения.
Когда у вас есть направление, запишите в одно предложение цель и, если применимо, наиболее важных целевых пользователей для этого приложения.
Например: приложение для усыновления домашних животных для людей, которые забирают бездомных животных.
Шаг 2: Определите основные функции
Подумайте, что ваше приложение должно уметь делать, и перечислите их.Если вы в конечном итоге перечисляете кучу вещей, присмотритесь и спросите себя, ДЕЙСТВИТЕЛЬНО ли этому приложению требуется, например, вход в Facebook для работы? Неужели для работы ДЕЙСТВИТЕЛЬНО нужно загружать данные в какое-то облако?
Здорово иметь проект мечты с потрясающими характеристиками, но сейчас дело не в том, чтобы создавать что-то, укомплектованное множеством интересных функций. Имейте в виду, что ни одно приложение никогда не бывает полным, и все начинается просто.
Никогда не пытайтесь создать универсальное приложение .Не ходи туда. Я видел, как это происходило даже в профессиональной среде, и в результате было много боли и мало прогресса.
Если у вас нет железной воли или если вы действительно не любите задач, вы будете разочарованы и разочарованы, если ваш первый проект будет слишком сложным. Вы новичок ... Дело сейчас в том, чтобы повеселиться. Веселье - самый эффективный способ учиться.
Итак, взгляните на список созданных вами функций, и, если он слишком длинный, начните вычеркивать функции, без которых ваше приложение может работать.
Помните, это ваша версия 1, и вы должны просто упростить ее. Сосредоточьтесь на вещах, которые позволят приложению выполнять все, что от него требуется, - все остальное можно оставить для другого проекта.
Для образца основной список функций для клона Reddit:
- пользователи могут создать учетную запись
- пользователей могут восстановить утерянные пароли
- пользователей могут менять свои пароли
- пользователей могут размещать новые ссылки
- пользователей могут комментировать ссылки
- пользователей могут голосовать за / против ссылки
- пользователей имеют профиль, показывающий их историю / активность
Перечисленные выше функции являются основными функциями, на которых вам следует сосредоточиться в первую очередь.Другие функции, такие как:
- пользователей могут поделиться в социальных сетях
- пользователей могут удалять комментарии
- Пользователи могут редактировать комментарии
- пользователей могут удалить свою учетную запись
Являются вторичными и могут быть сохранены для версии 1.x - работайте с ними только после того, как вы действительно сможете запустить версию 1.0
Шаг 3. Нарисуйте свое приложение
Лицензия CC
Нет ничего быстрее ручки и бумаги. К настоящему времени у вас должно быть довольно четкое представление о том, что должно делать ваше приложение, поэтому нарисуйте каркас пользовательского интерфейса вашего приложения (пользовательского интерфейса).Где должны быть расположены кнопки, для чего они нужны и так далее.
Сделайте заметки и поясните, как приложение должно работать. Вы все еще находитесь в стадии мозгового штурма, поэтому меняйте что-то, пока вы не будете чем-то удовлетворены.
Помните, все просто . Если вы сократили список на шаге 2, придерживайтесь только перечисленных в нем функций набросков - не увлекайтесь. Если ничего не можешь с собой поделать, нарисуй 2 версии: базовую и финальную в своих снах.
В общем, это не окончательный вид, а скорее всего лишь шаг, который поможет вам лучше понять свое приложение.
Шаг 4. Планирование пользовательского интерфейса вашего приложения
Хорошо. У вас есть хорошее представление о том, как будет выглядеть ваше приложение, что должен делать каждый элемент и как пользователи могут взаимодействовать с вашим приложением. Пришло время разобраться в пользовательском интерфейсе вашего приложения. Это означает, как пользователь должен использовать ваше приложение от начала до конца. Запишите каждый шаг, который им нужно сделать, и каждый сценарий, с которым они могут столкнуться.Постарайтесь рассмотреть все варианты использования.
(лицензия CC)
Включите в блок-схему все действия, которые может выполнять пользователь. Например, если ваше приложение требует от пользователей входа в систему, как им создать учетную запись? Что делать, если пользователи забыли свой пароль? Что, если они ввели неправильный пароль? Что должен делать пользователь в каждом интерфейсе (добавить новый элемент списка> сохранить; изменить> сохранить / удалить)? И так далее. Быстрее всего это делается с помощью ручки и бумаги.
Опять же, поскольку ваше приложение должно быть довольно простым, ваша диаграмма не должна быть слишком массивной.
Шаг 5. Проектирование базы данных
Хорошо! После того, как вы спланировали все возможные сценарии, взгляните на них, чтобы определить, какие данные вам необходимо сохранить. Например, если ваше приложение требует, чтобы пользователи создавали учетную запись, вам нужно будет отслеживать такие вещи, как имя пользователя, идентификатор пользователя, адрес электронной почты пользователя, пароль, подтвержден ли адрес электронной почты пользователя, а также время создания учетной записи. как каждый раз, когда пользователь входит в ваше приложение.
Если вы создаете клон Twitter, вам необходимо знать идентификатор твита, содержание твита, время публикации / ретвита твита, количество ретвитов и количество звездочек.Вам также нужно будет вести учет ретвитов и звездочек пользователей.
Вы можете нарисовать диаграмму ERM (модель сущности-отношения), чтобы отобразить взаимосвязь данных.
Пример схемы Entity-Relationship Diagram сайта выбора курса Лицензия CC
Кроме того, если у вас есть запланированные какие-либо будущие функции, самое время запланировать их в вашей базе данных. Вот хорошая статья, на которую стоит обратить внимание при разработке базы данных.
Продвинутый
Если приложение, которое вы планируете, будет взаимодействовать с сервером (например,грамм. если вы создаете полнофункциональное веб-приложение) или если ваше приложение будет взаимодействовать с API (например, вы пытаетесь получить информацию от Yahoo! Weather), то, вероятно, будет хорошей идеей нарисовать диаграмму последовательности для вас, чтобы получить лучшее представление о том, как должны работать процессы.
Из Википедии
Шаг 6. Каркасы UX
Хорошо, у вас запланирована внутренняя часть. А теперь пора спланировать интерфейс.
Надеюсь, вы все еще взволнованы, как и миньоны выше.Вы знаете, что вам нужно - теперь вы гораздо лучше представляете, как должно выглядеть ваше приложение.
Лицензия CC
Поскольку люди в основном визуальные существа, вам было бы лучше понять, что вы должны делать, если бы у вас было визуальное представление каждого представления, которое вы будете кодировать. Однако, если вы похожи на меня и ваш рисунок настолько беспорядочный, что вы с трудом можете понять непонятный кусок ... кашля шедевра ... который вы создали, естественно, неразумно продолжать этот шаг, злоупотребляя своими плохими художественными умственными способностями.
К счастью, в Интернете существует множество инструментов для создания каркасов и макетов, которые помогут вам спланировать свой UX / UI поток (например, Gliffy, Mockflow, Framebox, Wireframe.cc, Invisionapp).
Шаг 6.5 (необязательно): разработка пользовательского интерфейса
Это необязательный шаг, но если вы намереваетесь специализироваться на интерфейсной разработке или если вы очень заботитесь о том, как будет выглядеть ваше приложение до такой степени, что более красивое приложение будет мотивировать вас писать код, определенно продолжайте и разработайте приложение, чтобы все эти каркасные элементы пользовательского интерфейса можно было заменить более красивыми.
Если вам нравится проектировать, вы, вероятно, все равно создадите приложение еще до того, как начнете - возможно, вы уже разработали его на шаге 2.
Если вы не занимаетесь дизайном, но все же заботитесь о том, как будет выглядеть ваше приложение, подумайте об использовании элементов из наборов пользовательского интерфейса. Вот несколько ресурсов для элементов пользовательского интерфейса:
(Примечание: требуется Photoshop)
UI Cloud
Graphicburger
UI Dock
Для игр:
Spriters Resource
Однако не слишком зацикливайтесь на внешнем виде приложения.Прямо сейчас вам следует сосредоточиться на создании функций приложения.
Шаг 7: поиск решений
Отлично! Вы закончили этап планирования ... но как вы должны кодировать все это?
Важный навык, который вам нужно освоить как программист, - это оценить, когда вам следует использовать то, что уже написал другой разработчик, а когда создавать функцию самостоятельно.
Поскольку каждый создает уникальное приложение, не все варианты использования одинаковы.Таким образом, вы, , должны решать, когда использовать существующее решение, а когда создавать собственное, и вы научитесь делать это с опытом.
Если вы чувствуете себя лодкой, потерявшей направление в бескрайнем океане, сделайте глубокий вдох и не паникуйте. Ты можешь сделать это.
По мере того, как вы набираетесь опыта в исследованиях, оттачивании своего «гугл-фу» и создании вещей, вы в конечном итоге научитесь этому процессу.
Ищем решения
Взгляните на все схемы, которые вы нарисовали, а также на список функций, который вы создали на шаге 2.
Какие вещи вы совершенно не представляете, как построить?
Например, нужно ли пользователям создавать учетную запись? Ваше приложение полагается на обновления в реальном времени? Какие функции вам нужны?
В большинстве случаев рекомендуется просто использовать существующее решение для больших функций, таких как обработка синхронизации в реальном времени (например, Firebase), работа в сети / маршрутизация (например, AFNetworking для приложений iOS), аутентификация и компоненты, связанные с пользовательским интерфейсом ( например, Flipboard или приложение в стиле pinterest).
Существует множество онлайн-баз данных для поиска компонентов / пакетов / драгоценных камней и т. Д., Связанных с серверной частью, но вам нужно быть осторожным с оценкой того, что написали другие люди, а не просто использовать их вслепую.Надеюсь, сейчас вы не собираетесь строить что-то слишком сложное, так что прямо сейчас вам, вероятно, не понадобятся компоненты, написанные другими людьми.
В любом случае, лучший способ начать - это изучить, что другие разработчики сделали до вас, , и изучить логику их решений. GitHub - ваш лучший друг.
Чтобы увидеть реальный пример процесса исследования опытным разработчиком конкретной функции, вы можете посмотреть этот пост о том, как создатель Angular-Plunker создал директивы перетаскивания Plunker'а.
Выбор инструментов для начала работы
Если вы создаете веб-приложение, возможно, вам стоит попробовать Yeoman, так как его цель - помочь вам быстро запустить новые проекты, помогая вам настроить структуру вашего проекта.
Если вы создаете приложение React, вы также можете проверить стартовые комплекты и существующие реализации Flux. HTML5Boilerplate и Bootstrap - популярные интерфейсные шаблоны для вашего приложения. Чаще всего шаблоны используют Gulp или Grunt для управления задачами.
Поскольку вы, вероятно, собираетесь использовать некоторые существующие компоненты или решения, вам также следует установить bower для управления зависимостями (npm для тех, кто использует Node.js и CocoaPods для разработчиков iOS). Не волнуйтесь - в большинстве случаев к этим инструментам прилагаются руководства, в которых вы узнаете, как их установить.
Шаг 8: Создание приложения
Да! Теперь вы готовы создать приложение! Вот несколько советов, которые следует учитывать при создании приложения.
Контрольный список
Вам следует сосредоточиться на построении приложения по функциям.Таким образом, если вы не выполнили одну задачу, например, систему комментирования, не начинайте сразу создавать представление профиля пользователя. Другими словами, если вы, например, создаете форму, вы должны работать как над внешним, так и с внутренним кодом, пока функция не будет завершена.
В целом, чтобы следить за своим прогрессом, вы можете составить список задач и использовать его в качестве контрольного списка.
Первая запись тестов
Если вы не создаете игровое приложение, рекомендуется сначала написать тест для вашей функции, прежде чем вы действительно начнете кодировать эту функцию.Ошибки неизбежны, но тестирование значительно сократит ваши ошибки и ваши шансы выпустить ошибочный код в производственную среду.
Конечно, написание модульных тестов требует времени, и иногда вы можете задаться вопросом, стоит ли оно того. Однако, если вы хотите в будущем создавать более крупные проекты, в которые вы продолжите добавлять новые функции, это может произойти с вашим приложением:
Тогда это (преувеличение того, что) может случиться:
Или не дай бог:
И это вы, пытаясь исправить приложение:
… Более-менее.
Итак, неплохо было бы начать с малого и выработать привычку заниматься разработкой через тестирование (TDD), тем более что вы начинаете с нуля и создаете что-то простое.
У вас сейчас не к дедлайну с вилами за спиной менеджера проекта, не так ли?
Советы по шаблонам модульного тестирования вы можете найти в этой статье. Еще один совет, который следует иметь в виду, - не утверждать слишком много банальностей.
На ваш выбор доступны многие инструменты тестирования, такие как Jasmine или Karma для JavaScript, Rspec для Ruby, PyTest для Python, PHPUnit для PHP, Quick в качестве альтернативы xCTest для разработки iOS или любой другой инструмент, с которым, по вашему мнению, будет работать ты.
Кроме того, если вы создаете приложение для iOS или Android, рекомендуется попробовать Crashlytics.
7 шагов для эффективной отладки
Используйте Git
Git - это система контроля версий и полноценный репозиторий с полной историей и полными возможностями отслеживания версий. Хорошей идеей будет начать учиться использовать Git при создании своего первого приложения. Таким образом, вы можете легко исправить свои ошибки, восстановить потерянные данные и многое другое. Кроме того, если вы планируете работать с командой разработчиков в будущем, вам все равно нужно будет использовать git.GitHub - самый популярный сервис хостинга репозиториев Git для проектов с открытым исходным кодом, а Bitbucket - для частных репозиториев.
Если у вас возникнут проблемы при использовании git, вам может помочь этот пост о 10 наиболее распространенных проблемах Git и способах их устранения .
Если вы застряли…
Как новичок, вы будете чаще чувствовать себя этим хомяком.
.