Android

5 помилок новачка під час створення перших застосунків для Android і що з ними робити

На перших етапах навчання розробці додатків для Android новачки стикаються з безліччю складнощів. Вони елементарно вирішуються професіоналом, але часто становлять складне завдання для новачка.


Також часто буває, що новачки через незнання формують у себе неправильний підхід до написання програмного коду і, самі того не підозрюючи, ускладнюють собі роботу в майбутньому.
Додаткова складність полягає в тому, що навіть найпростіші додатки для Android – це складні програми, що включають сотні файлів і рядків коду. Запустити їх з першого разу без помилок досить непросто.


Володимир Анісімов – практикуючий Android-розробник з більш ніж 7-річним досвідом у нативній і мультиплатформенній розробці – розібрав 5 типових помилок новачків зі свого досвіду і дав лайфхаки, які допоможуть їх вирішити.


Застосовуючи їх, розробник-початківець зможе значно полегшити собі навчання на перших порах і в кінцевому результаті стати фахівцем високого класу з гідною оплатою праці.

Помилка #1. Шукати помилку самостійно і намагатися усунути її вручну, якщо проєкт не запускається

Уявіть, що ви заходите в код свого проєкту і бачите приблизно таку картинку:

1 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Весь код виділено червоним, водночас додаток не запускається.

Перша думка: одразу перевіряти код, шукати помилку і намагатися виправити її вручну. Однак такий підхід на початкових етапах і без досвіду в розробці може призвести до нових помилок.
Замість цього краще зробити наступне

1) Знайти рядок з описом помилки

Набір тексту на скріншоті нижче називається лог. У ньому вже є інформація про помилку, потрібно тільки її знайти.

Ключове слово тут – Exception (але може бути й Error), опис помилки знаходиться поруч із ним. Його потрібно скопіювати і вставити в пошуковик Google.

2 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Помилки, які трапляються найчастіше, вже розібрані на форумах і сайтах для розробників. Ви з великою ймовірністю зможете знайти рішення своєї проблеми.

Також ваше середовище розробки може підказати конкретне місце в програмі, де сталася помилка. Це виділені синім посилання:

3 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Бачачи місце в коді з помилкою і знаючи опис, набагато легше її виправити.

Якщо ця помилка створена вами як розробником (наприклад, помилка в коді), виправляти її потрібно виключно вручну.

Якщо помилка – всередині системи (наприклад, не встановлено потрібну бібліотеку з даними), тоді її потрібно усувати відповідно до рекомендацій у балці.

2) Спробувати позбутися помилки за допомогою 4 кнопок в Android Studio, про які не знають багато новачків

Спробуйте їх натиснути, якщо потрібно усунути помилку, але ви не розумієте, що робити:

Rebuild Project

Вона знаходиться у вкладці Build:

4 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Ця кнопка дає змогу перезібрати проєкт, усунувши помилки.

Синхронізувати проєкт із gradle-файлами

Ця кнопка знаходиться у вкладці File:

5 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Логічно, що, якщо немає зв’язку між файлами проєкту і gradle файлами (тими, що збирають частини проєкту в єдину систему), – застосунок не працюватиме. Кнопка Sync project with gradle files вирішує цю проблему.

Clean project

Ця кнопка очищає проєкт від тимчасових файлів збірки. Це корисно, коли ви змінюєте щось у коді, але не бачите змін під час перезапуску проєкту.

Якщо після натискання цієї кнопки помилку не усунуто, можна повернутися до попередніх двох і знову натиснути їх.

Кнопка Clean project знаходиться на вкладці Build:

6 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Invalidate caches

Ця кнопка – найрадикальніший засіб у боротьбі з помилками. Її варто натискати, коли проєкт не запускається, Clean Project не працює і суть помилки ви теж не розумієте.

Invalidate caches очищає тимчасові файли вже самої Android Studio.

Вона знаходиться у вкладці File:

7 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Варто зазначити, що ці поради спрямовані на новачків, більш досвідчені розробники знають, що і коли краще використовувати.

Помилка #2. Неправильне найменування змінних

Ця помилка зустрічається, напевно, у 80% розробників-початківців. Вона не критична, проте робить код складним і нечитабельним.

Ось, як це виглядає на прикладі:

8 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

У чому складність із такими іменами змінних?


Ще зі школи ми звикли змінні називати буквами a, b, c. Однак у програмуванні так робити небажано, бо через деякий час важко буде розібратися, яка буква що означає.


Це ключовий момент: код має бути зрозумілий не тільки комп’ютеру, а й людині.


Якщо ви назвете змінні подібним чином, можливо, у момент розроблення ви пам’ятатимете, що вони означають. Однак, повернувшись до цього коду через місяць, ви можете забути, що мали на увазі. Особливо, якщо код складний і складається з десятків і сотень рядків.


Потрібно буде знаходити, де змінні a, b, c були введені, і відновлювати логіку в себе в голові.
А якщо ваш код читатиме інша людина, у неї піде ще більше часу на те, щоб його зрозуміти
Іноді розробник намагається врятувати таку ситуацію за допомогою коментарів до змінних:

9 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Однак, до коментарів все одно доведеться повертатися. До того ж, вони обтяжують код, адже тепер доведеться читати сам код і коментарі до нього.


Називати змінні потрібно відразу так, щоб вони самі себе пояснювали:

10 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

У цьому разі назва змінної – money – відразу приблизно дає розуміння, про що йдеться. А в ідеалі потрібно уточнити, що за money, наприклад назвавши змінну так: moneyOnBalance.

Візьмемо приклад складніший:

11 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Це код для розрахунку балансу на рахунку під час купівлі товару вартістю p і знижкою d.
У цьому випадку змінним задано літерні імена – p, d. Ім’я bal має більш зрозумілий і читабельний вигляд, але все одно не є ідеальним.


Спробуйте вникнути в суть формули. Спробували? Скільки разів ви бігали очима від літери у формулі до пояснення, що вона означає?


А ось так слід було б оформити цей код:

12 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Тепер код можна читати майже як книжку і не потрібно витрачати час і зусилля на визначення того, що означає та чи інша буква.

Помилка #3. Зайва логіка в коді

Розробники-початківці часто намагаються прописати все в коді по максимуму, задати змінні, без яких можна обійтися. Це зайві елементи, які тільки ускладнюють код.

Наприклад, розробник задає 4 окремі змінні і потім використовує їх у коді:

13 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Створення окремих змінних може бути обґрунтованим – у тому випадку, якщо ці змінні будуть використовуватися в коді далі багато разів. Тоді цей підхід дійсно спростить код і заощадить час розробнику. Але в конкретному фрагменті кожна змінна використовується в коді тільки один раз.

Також у коді зроблено помилку з назвами змінних (див. помилку #2). Про що вам говорить message1? Що таке 1? І чим відрізняється від message2?

Як можна спростити цей код і прибрати всі помилки:

14 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Відразу задати значення, які мають видаватися за певних умов без введення змінних.

Код одразу став на 4 рядки коротшим, його легше читати і сприймати.

Помилка #4. Фокусування на абстрактних завданнях

Коли ви вивчаєте програмування за книжками, відео-курсами чи навіть разом із викладачем і вже знаєте певні функції, на їхнє відпрацювання вам можуть дати абстрактне завдання, яке, ймовірно, не стане в пригоді для роботи.

Наприклад: обчислити факторіал числа, розв’язати квадратне рівняння, перепробувати всі варіанти сортування даних.

Ці завдання добре розвивають алгоритмічне мислення і можуть бути корисні на початкових етапах, але захоплюватися ними не варто. Вони приведуть вас до того, що ви добре мислитимете алгоритмами, але водночас зможете писати лише прості та «математизовані» програми.

Краще якомога раніше почати виконувати завдання, пов’язані з реальним життям і роботою програміста: наприклад, розробити обчислювач для світлофора або програму для обробки покупок.

Помилка #5. Нехтування можливостями режиму Debug

Якщо розроблена вами програма запускається, проте видає не ті значення, які вам потрібні (і які правильні), не поспішайте шукати помилку вручну. Для цього є режим Debug.

Щоб запустити програму в ньому, потрібно замість звичайної кнопки запуску натиснути кнопку у формі жука, що знаходиться поруч із нею:

15 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

У цьому режимі ви зможете побачити, що відбувається під час запуску програми в режимі реального часу.

У цьому режимі можна зупинити роботу програми в будь-якому місці, при цьому на екран виводиться поточне значення змінних на даний момент:

16 android 5 помилок новачка під час створення перших застосунків для Android і що з ними робити

Якщо видно, що змінні мають неправильні значення, перевіряємо код у конкретному рядку, експериментуємо з введеними елементами, поки не отримаємо потрібне значення змінної.

Ця функція дає змогу не перевіряти весь код (як часто роблять новачки) і не вигадувати «милиці», а перевірити конкретно ті місця, в яких ви підозрюєте наявність помилки.

Що це за помилка і що з нею робити – потрібно буде визначити самостійно (на відміну від критичної помилки, через яку застосунок не запускається), однак завдяки режиму Debug ви матимете розуміння, в який момент роботи застосунку та в якій частині коду вона з’являється і як це виправити.

Поділитись:

Facebook
Telegram
LinkedIn
Pinterest
On Key

Схожі публікації

dart

Основи мови Dart: що потрібно знати для Flutter

Якщо ви вирішили зайнятися розробкою мобільних додатків на Flutter, вам потрібно ознайомитися з мовою програмування Dart. Flutter використовує саме Dart, і хоча ця мова менш популярна, ніж