Исправление ошибок в мобильном приложении

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

Если разработчик Вашего приложения не доступен или не может исправить ошибку – предлагаю свои услуги по исправлению ошибок.

Мой опыт программирования составляет 18 лет, в т.ч. последние 5 для мобильных платформ iOS и Android.

Для себя классифицирую ошибки в приложениях на такие:
1. Несоответствие требованиям спецификации – самые относительно безобидные. Как правило вызваны невнимательностью разработчика и тестера на этапе проверки приложения и приемки работ. Проявляются как правило при первом открытии экрана приложения. Например: не заполненное поле либо в поле неправильное значение, отсутствие проверки действий пользователя или доступности соединения с Интернет.
2. Работа приложения не соответствует требованиям спецификации. Такие ошибки проявляются при выполнении определенных действий пользователя. Часто такие ошибки вызваны неправильной внутренней архитектурой приложения и ошибками в проектировании взаимодействия приложения с пользователем и/или другими сервисами. Например: автоматическая синхронизация данных приложения с сайтом происходит для всех видов данных одновременно как только появляется Интернет соединения, что приводит в снижению скорости передачи данных и «торможению» работы смартфона или планшета.
3. Ошибки в библиотеках сторонних разработчиков. Многие ленивые программисты, а чаще и малоопытные используют сторонние библиотеки для различных «спецэффектов» в приложении. Как правило, 80% используемых спецэффектов доступны и среди нативных(оригинальных, «родных», встроенных) элементов интерфейса среды для разработки приложения. Как показывает моя практика сторонние библиотеки приводят к неожиданным утечкам памяти и зависаниям приложения без видимых причин. Анализ сторонних библиотек показывает, что некоторые популярные обновляются каждые 3 дня, что говорит об отсутствии стабильной версии.
4. Утечки памяти. Как правило это еще один вид ошибок малоопытных программистов. Часто разработчики забывают освобождать объекты и при переходе на другие экраны приложения объекты продолжают «жить» и потреблять ресурсы. Т.е. в целом приложение работает, но при определенных данных оно может «вылетать», «зависать» и т.д. Иногда проявление таких ошибок в приложении результат использования библиотек сторонних разработчиков.
5. Выход новой версии операционной системы сопровождается депрекацией (прекращением поддержки) ряда команд и/или изменением набора параметров вызова команд в новой версии операционной системы. Фактически это приводит к тому, что приложение перестает работать: не открывается следующий экран, не обрабатывается нажатие на кнопку, сползают надписи и т.д.
6. Вылеты приложения по причине «недообработки» нестандартного значения переданного приложению. Другими словами случается маловероятная ситуация, которую упустил разработчик.
7. «Хвосты» старого кода которые не поддерживаются в новых версиях ОС по причине депрекации – очень характерно для иОС код для iOS версий 5 / 6 / 7 и 8, характерно для Андроид версий меньше 2.3, версий 2.3.*, версий для планшетов 3. 0 и версий 4.0+
8. Изменения в API и/или формата данных сервисов, с которыми происходит взаимодействие.

Для оценки стоимости работ по устранению «глюка» в приложении требуется:
1. Само приложение и исходный код приложения (последней версии).
2. Подробное описание действий для проявления глюка. Можно дополнительно снять на видео и закачать ролик на ютьюб.
3. Доступ к девелоперскому аккаунту (для iOS).

Стоимость диагностики(анализа) одной ошибки составляет 50 USD. Если ошибок для диагностики больше чем одна – будут скидки.

!!! Важно диагностируются только заявленные клиентом ошибки. Иногда бывают ситуации когда одна ошибка скрывает другую, например: не отображается экран 2. После исправления проблем с отображением экрана 2 оказывается, что в базе данных неправильные данные для вывода на экране 2.
В этом примере описаны 2 разные ошибки:
ошибка 1 (заявленная к диагностике) – отображение экрана
ошибка 2 (скрытая, выявленная после исправления ошибки 1) – неправильные данные в базе данных.

Примеры типовых решений:
1. Идеальный вариант - исправление ошибки путем написания правильного кода: полная инициализация класса/объекта, правильный вызов и освобождение и т.д. по стандартам как говорится.
2. Полная переделка проблемного кода – иногда переписать с нуля быстрее, чем пытаться править чужой глючащий код.
3. Ошибка в библиотеке сторонних разработчиков: либо обновление библиотеки до последней версии либо замена эффекта библиотеки нативными (родными) средствами среды ОС.

При исправлении ошибки я ориентируюсь на текущие версии релизов мобильных ОС для iOS это iOS 8.1.х для Андроид это версия 4 и старше.

Результат диагностики – предложение способа или нескольких способов исправления ошибки и ориентировочная стоимость исправления ошибки.

Оплата:
аванс 50% до начала работ по исправлению ошибки, остаток по факту после проверки.

Как результат исправления:
демонстрация работы приложения в режиме попытка вызвать глюк – приложение работает стабильно.

Могу снять видео на своем устройстве и разместить ролик на Youtube, также могу предоставить доступ к исправленной версии  приложения для тестирования на Вашем устройстве.

Присылайте Ваши запросы по е-мейл vovan4u@ukr.net или по Skype: peredovik.propagandi