Типичные ошибки начинающего Android-разработчика

Что не нужно делать, чтобы эффективно развиваться с самого начала пути
5 минут15226

Уже давно спрос на Android-разработчиков превышает предложение. И такое положение сохранится ещё как минимум несколько лет. Если вы задумываетесь о работе, которая актуальна и в кризис, и в нормальной экономической обстановке, — сейчас самое время освоить её. 

Ещё пять лет назад я ничего не знал ни о разработке под Android, ни о программировании вообще. И за это время успел набить много шишек и совершить достаточно ошибок — от них и постараюсь вас уберечь в этой статье. Расскажу, в чём заблуждаются новички и как этого избежать.

«Со всем разберёмся самостоятельно»

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

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

«Страшно чего-то не знать»

В английской культуре есть понятие, популярное в программистской среде: Fear Of Missing Out (FoMo), или «страх упустить что-то важное». Андроид — огромная система. Вы не сможете даже за пять лет изучить её досконально. Во-первых, платформа постоянно развивается и меняется. Во-вторых, чем больше вы узнаёте, тем больше видите соприкасающихся областей, в которых вы ещё не разбираетесь.

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

«Дизайн не нужен»

«Я же разработчик, мне нужно кодить хорошо, а как будет выглядеть интерфейс и навигация — это не ко мне, а к дизайнерам». Знакомый ход мыслей? Чем больше вы понимаете в материальном дизайне (руководство для дизайна Android-приложений), тем лучше вы знаете возможности платформы как разработчик — и тем яснее представляете, как сделать хорошее приложение. Вам не нужно уметь красиво рисовать иконки (для этого есть множество ресурсов), но понимать принципы важно.

На сайте Google, посвящённом материальному дизайну, много материалов, с которыми стоит ознакомиться

«Я пользуюсь мышкой — и это очень удобно»

Поверьте мне на слово: без мышки вы пишете код значительно быстрее. То есть вы более продуктивны. Используя мышь в процессе программирования, вы постоянно переносите руку с неё на клавиатуру и обратно, а также тратите время, чтобы каждый раз адаптироваться к этим двум устройствам. В любой среде разработки есть комбинации клавиш для всего, что вам может понадобиться, а наиболее удобные сочетания зарезервированы для самых частых операций. Когда вы перестанете пользоваться мышкой при программировании — станете по-настоящему продуктивны. Помочь в этом может вот этот плагин для Android Studio.

«Объять необъятное — легко!»

Итак, вы хотите написать своё первое приложение, вы думали о нём давно. И время пришло! В вашем приложении должен быть чат (куда без него), просмотр видео, аудиоплеер (это же так удобно), карты с навигацией (они всегда пригодятся), ну и заметки (это вообще очевидно).

Остановитесь! Такое приложение не только потребует от вас усилий на протяжении года (а то и больше), но и со временем превратится в «чудовище Франкенштейна». Потому что вы не просто будете писать приложение, но и учиться на нём, постоянно переписывать, оптимизировать и улучшать. А через полгода, с высоты полученного опыта, вы вообще захотите переделать всё с нуля. 

Начните с малого. Напишите простой таймер Pomodoro, который идеально подойдёт именно вам, и сделайте так, чтобы он продолжал корректно работать при повороте экрана. Поверьте, уже на этом этапе вас ждёт много открытий. Выложите его в Google Play, прикрутите оплату и рекламу (ещё больше нового!), пройдите все этапы от начала разработки до её завершения и поддержки приложения.

Потом напишите простое приложение-чат, просто для текста. Выложите. Добавьте обмен фотографиями, а затем ещё что-нибудь. Следом сделайте простое приложение для прослушивания музыки… Поняли идею? Так у вас появятся законченные проекты, а через год-полтора вы будете готовы приступить к своему идеальному приложению.

«Пришла идея новой функции — скорее писать!» 

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

Например, в Android Arsenal или GitHub содержатся почти все когда-либо созданные Android-библиотеки. И их код есть в свободном доступе. Проверьте.

Дополнительный совет: выбирайте библиотеки грамотно. Проверьте, какой рейтинг у библиотеки. Посмотрите, если у её создателя ещё популярные работы. И проверьте обсуждения, отзывы. Не все библиотеки написаны хорошо.

«У меня нет времени разбирать чужой код»

Программисты (и Android-разработчики в том числе) тратят больше времени на чтение чужого кода, чем на создание своего. Даже ваш собственный код, написанный три месяца назад, покажется вам чужим. Налейте кофе, сядьте и откройте хорошие примеры кода, поразбирайтесь часок. Если делать это регулярно, вы не только научитесь бегло читать чужой код (что очень важно), но и впитаете лучшие практики. Ведь одна из самых замечательных вещей в Android — это полная открытость платформы. Вот список очень неплохих библиотек, а здесь — перечень Android-приложений с открытым кодом, разбитый по категориям.

«Вот заработаю много денег — куплю мощный ПК»

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

Да, не у всех есть такая возможность — сразу купить крутой ПК. Но держите эту мысль в голове и понимайте все преимущества мощного компьютера перед слабым.

В заключение отойду от формата вредных советов — дам полезный прямо. Начните отдавать знания, которые вы получили. Нет ничего лучше для понимания темы, чем попытка объяснить её кому-то. Пишите в блог, выступайте на митапах, преподавайте. Вы сразу почувствуете, насколько полезнее пересказать статью кому-то, чем просто прочитать её. Кто знает, может, вам понравится — и вы вернётесь в GeekBrains уже как преподаватель. Так сделали уже многие специалисты, и я в их числе.

Удачи, и не повторяйте чужих ошибок!

Другие полезные статьи для начинающих Android-разработчиков:

программированиеandroid
Нашли ошибку в тексте? Напишите нам.
Спасибо,
что читаете наш блог!