IOS-РАЗРАБОТКА
Топ 5 ошибок, которые совершают начинающие iOS-разработчики
Илья Матанов
Многие программисты предпочитают учиться на своих ошибках. Это не всегда оправдано, особенно, когда есть множество возможностей получить знания и навыки из первых уст, как на авторском курсе по iOS-разработке от Redmadrobot.

Мы перевели материал Ильи Матанова о пяти распространённых ошибках начинающих iOS-разработчиков. Смотрите, как делать НЕ надо.
19 июля 2018
Content writer and Blog Manager at jetruby.com
01
Игнорируют нетипичные ошибки
Это правда, sh*t happens. Даже лучшие мобильные приложения могут дать сбой. Как же быть, если нельзя предвидеть все? Убедитесь, что ваши пользователи не впадут в ступор от происходящего.

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

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

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

Убедитесь, что сообщения об ошибках настолько просты и понятны, насколько это возможно. Но не перестарайтесь! Ведь если одно и то же сообщение будет всплывать каждую секунду по 10 раз, это только взбесит пользователя.
02
Совершают ошибки при тестировании
Тестирование является одним из важнейших этапов в любом процессе разработки. Как говорится: хуже отсутствия вашего приложения в App Store может быть только приложение с багами, доступное для скачивания.

Самая большая ошибка, которую совершают начинающие iOS-разработчики — тестирование приложения только на последней версии прошивки или симуляторе Xcode.

Почему это плохо? Если вкратце, то вы упускаете очень много факторов, например, производительность. Каждый новый iPhone в разы мощнее предыдущего, особенно после внедрения 64-битной архитектуры. А последний чип A11 легко может соперничать с процессором Intel Core i5 по производительности.

Приложение может отлично подходить для владельцев iPhone 8 и iPhone X, но как насчет людей, которые все еще пользуются iPhone 6 или даже 5? Когда вы тестируете своё творение на свежей версии прошивки, вы просто забываете о том, что оно может жутко тормозить на более ранних версиях, если вообще запустится.

Запомните тот факт, что ваше приложение должно быть полностью адаптировано под всех пользователей iPhone или iPad, если Apple поддерживает их устройства.
03
Игнорируют аспекты безопасности
Из года в год пользователям и разработчикам напоминают, как уязвимы данные в сети. Мобильные приложения и сайты взламывают, компании получают многомиллионные иски, людей увольняют и все в таком духе. Одна малейшая ошибка может привести к утечке данных. И информация о вашей кредитке, банковском счете или страховке может стать доступной для мошенников.

Как не совершать подобных ошибок?

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

Во-вторых, используйте шифрование данных. Забудьте о статических ключах шифрования.

Хакеры также могут получить доступ к вашим серверам. Чтобы этого избежать, удаляйте любую информацию, которая относится к вашим тестовым стендам, и все, что с этим может быть связано. Если вы хотите узнать больше о методах безопасности iOS, рекомендую прочитать: iOS Security How-To: User Data Protection.

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

Не стоит забывать, что в App Store доступно около 2,2 млн приложений. Вы действительно думаете, что кто-то будет ждать, пока вы выпустите очередное обновление, которое работает гладко и не разряжает батарею iPhone за один час? Если вы не Uber или Facebook, то маловероятно.

Но зачем беспокоиться, если существует автоматический подсчет ссылок (ARC), который позаботится о всех проблемах, связанных с памятью? Когда ARC впервые представили в пятой версии iOS, многие разработчики вздохнули с облегчением. Но из-за ARC все обленились. Начинающие разработчики обманулись в своих ожиданиях, что им больше не надо отвечать за оптимизацию памяти.

Это неправда.

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

Утечки памяти накапливаются, свободной памяти становится все меньше, а ваш iPhone/iPad начинает жутко тормозить. В итоге операционка вынуждена закрыть ваше приложение. Результат: пользователя выкинуло из вашей программы, и он не понял, что произошло.

И как поступить?

Составьте список элементов, которые способны вызвать проблемы с производительностью и памятью. Дважды перепроверьте их. Например, если ваше приложение связано с какой-то графикой, то нет необходимости использовать 5k HDR изображения. Мало того, что они много весят, так еще и создают нагрузку на сервер.
05
Не следуют правилам хорошего тона
Многие начинающие разработчики переживают по поводу качества своего кода. Иногда даже слишком.Они с трепетом смотрят на элегантные строки, написанные senior-разработчиками, и задаются вопросом: смогут ли они когда-нибудь сами создать что-то подобное. Слишком просто, чтобы быть правдой, слишком сложно, чтобы повторить.

Знаете что? Это нормально. Когда вы только начинаете свой путь, никто не ожидает, что вы сразу напишите идеальный код. От вас ждут, что вы напишите функциональный и читаемый код.

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

Нет, это не так.

Когда ваш код выглядит как спагетти (spaghetti code), другим сложно разобраться и отделить зерна от плевел. Ваши коллеги разработчики, QA и даже инженеры DevOps вместо своей работы будут тратить часы и дни, чтобы распутать ваш код.

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

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

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

Рекомендуем к просмотру видео с конференции "The Lead Developer UK 2017", где Кевин Голдсмит, инженер-программист, который работал в таких компаниях как Microsoft, Adobe, Spotify и Avvo, рассказывает о различных ошибках и как с ними бороться.
Авторский курс
по iOS-разработке
от Redmadrobot
Этот курс поможет вам быстро освоить азы разработки мобильных приложений под iOS.

Вы научитесь писать чистый код, который соответствует стандартам оформления кода в современных командах.

Ведущие разработчики из Redmadrobot дадут вам концентрат из опыта, best practice, техник и инструментов, использующихся в компании №1 в мобильной разработке.
1
2
3
Понравилось? Поделитесь с друзьями