App Inventor қолданбасында кодты жөндеу

MIT App Inventor бағдарламасында кодты жөндеу және қателерді түзету бойынша кеңестерді үйрену

ЖАЛДАУ ДЕГЕН НЕ?

Түзету - процесс кодерлері өз кодының неліктен жұмыс істемейтінін анықтау үшін пайдаланады, содан кейін оны жұмыс істейтіндей етіп түзетеді.

Түзету термині есептеу техникасының пионері адмирал Грейс Хопперден шыққан. Ол 1940-шы жылдары Гарвард университетінде Марк II компьютерінде жұмыс істеген және компьютерге көбелегі кептеліп қалып, оның жұмысын тоқтатқан.

Көбелектен құтыла отырып, ол жүйені «отладка» жасап жатқанын айтты. Бағдарламашылар қазір бұл терминді «менің кодымдағы қателерді түзету» дегенді білдіреді.

Grace Hopper

КОДТАУ КЕҢЕСТЕРІ

dog looking at computer

Түзету көбінесе кодтаудың ең ренжітетін және көп уақытты қажет ететін бөлігі болуы мүмкін, сондықтан оған көп уақыт қалдыру өте маңызды!

Сондай-ақ сабырлы болу керек!

КІШКЕНТАЙ КЕСЕКТЕР

Кейде бағдарламашылар бүкіл бағдарламасын бір жолмен кодтауға, содан кейін оны тексеруге тырысады.

Бұл азғыруға жол бермеңіз!!!

Егер бірдеңе дұрыс жұмыс істемесе, бұл мүмкін болса, қатені қайдан түзетуге тырысу керектігін анықтау қиын. 

chunks of chocolate

Бағдарламаға арналған кодтауды кішкентай кесектерге бөліңіз. 

Келесі нәрсені бастамас бұрын жұмыс істейтін бір нәрсені алыңыз. 

Аздап кодтап, аздап тексеріп, оның жұмыс істейтінін растайды, содан кейін сәл көбірек кодтайды, сәл көбірек сынап көріңіз және т.б. 

Мысалы, бағдарламаңызда әр түрлі әрекеттер жасайтын 5 батырма болса,

  1. Бірінші түйменің әрекетін кодтау
  2. Содан кейін оның жұмыс істейтініне көз жеткізу үшін тексеріңіз.
  3. Екінші батырмаға жылжу
  4. Қайталаңыз.

Кодты кері қайтудан гөрі бір жерге түзетіп, кодта қате болса, оны 5 жерде түзеткен дұрыс.

app with 5 buttons

НҰСҚАЛАРДЫ БАСҚАРУ

it began as a mistake

Сіз «шағын бөліктер» ережесін ұстанып, қолданбаңыздың бір бөлігі жасалып, жұмыс істеп тұр делік.

Біраз жаңа код қосып, кенеттен барлығы жұмысын тоқтатады. 

ЖОҚ!

Жаңа кодты жоюға тырысасыз, бірақ бағдарлама әлі жұмыс істемейді. Ненің дұрыс болмағанына сенімді емессіз және «болдырмау» батырмасының болғанын тілейсіз.

Мұндай сценарийлерді болдырмау үшін жұмыс істеп жатқан бөліктерді алған кезде бағдарлама нұсқаларын сақтауға болады. 

Осылайша қате жіберсеңіз және оны қалай түзету керектігін білмесеңіз, сақтаған соңғы жұмыс нұсқасына қайта оралуға болады.

Сондай-ақ, жұмыс бағдарламасын бұзуға алаңдамай жаңа мүмкіндіктермен тәжірибе жасау үшін нұсқаларды басқару элементін пайдалануға болады.

App Inventor бағдарламасында әр түрлі нұсқаларды «ретінде сақтау» және «бақылау-өткізу пункті» көмегімен сақтаудың екі жолы бар.

«Бақылау-өткізу пункті» параметрі көшірмені қандай атаумен берсеңіз де сақтайды, бірақ түпнұсқада жұмыс істеуді жалғастырасыз. Идея – жобаның негізгі нұсқасында жұмыс істейтін және өз дамуыңызды жалғастыратын нұсқаны «бақылау-өткізу пункті» деп айтуға болады.

Project menu, checkpoint selected

«Жобаны басқаша сақтау» параметрі сіз жұмыс істеп жатқан кодтың көшірмесін жасап, оны жаңа атаумен сақтайды. Сіз жасаған кез келген өңдеулер жаңа көшірмеде болады.

project menu, save as selected

БЛОКТАРДЫ ҚҰЛАТУ

Блоктарды коллапстау - кодты ұйымдасқан түрде сақтау тәсілі, өйткені код жұмыс кеңістігі блоктармен көп жинала бастайды.

Блокты тінтуірдің оң жақ түймешігімен бассаңыз, оны жию опциясын көресіз.

Блоктарды қайта кеңейту үшін оларды тінтуірдің оң жақ түймешігімен басып, Блокты кеңейту пәрменін таңдаңыз.

app inventor expanding a block

Құлаған блоктар оны экрандағы бір жолаққа дейін қысады.

Олар әлі күнге дейін тұрақты блоктармен бірдей жұмыс істейді, тек аз орын алады. Егер сізде енді өңдеудің қажеті жоқ блоктар болса және экранды тазалағыңыз келсе, бұл пайдалы болуы мүмкін

collapsed block

БЛОКТАРДЫ АЖЫРАТУ

Блоктарды да ажыратуға болады.

Олар экранда қалады, бірақ бағдарламада іске қоспайды.

Ажыратылатын блоктар арқылы бағдарламаны белгілі бір код блоктарсыз тексеруге болады. Оларды кейінірек қосуға болады және олар іске қосылады.

Сондай-ақ, тек тестілеу үшін пайдаланылған блоктарды өшіруге болады, мысалы, Хабарламашылар.

App Inventor бағдарламасында блоктарды ажыратудың екі жолы бар

Жай ғана блоктарды оқиға өңдеушісі блогынан апару оларды өшіріп, іске қосуына жол бермейді. Өйткені олар ешбір оқиғаға кірмейді, ешқашан орындай алмайды. Оларды пайдалану үшін әрқашан қайта байлауға болады.

disabled block by dragging out of event block

Сондай-ақ, блокты немесе блоктар тобын тінтуірдің оң жақ түймешігімен басып, «Блокты ажырату» пәрменін таңдауға болады. Блоктар орындалмайтынын көрсету үшін сұр түсті болып шығады. Осылайша блоктардың барлық жиынтығын ажыратуға болады.

Блоктарды қайта қосу үшін жай ғана тінтуірдің оң жақ түймешігімен басып, «Блокты қосу» пәрменін таңдаңыз.

ТҮСІНІКТЕМЕЛЕР

Бағдарламашылар оның не істеп жатқанын түсіндіру үшін өз кодында түсініктемелерді жиі қалдырады. 

Комментарийлер басқа адамдар сіздің кодыңызға қараған кезде пайдалы болуы мүмкін, мысалы, командаластар, тәлімгерлер және төрешілер.

Кодқа кейінірек оралсаңыз және оның бөліктерінің не істейтінін ұмытып қалсаңыз, түсініктемелер де көмектеседі.

Комментарий қосу үшін блоктарды тінтуірдің оң жақ түймешігімен басып, «Түсініктеме қосу» пәрменін таңдаңыз.

Осыдан кейін блоктың бұрышында сұрақ белгісі пайда болады және мәтінді қосуға болады. Түсініктемені сұрақ белгісін басу арқылы көруге болады.

Үздік тәжірибелер: Пікірлер бағдарламалаудағы ең пайдалы нәрсе болып табылады.

Кодер бір нәрсені кодтап, содан кейін ұйқыға кетіп, келесі таңертең қайтып келіп, түнгі уақытта не істеп жатқаны туралы еш күдіктенбеген кездер көп болды. Әрқашан түсініктемелер жазыңыз!

It’s also a great way to check your knowledge, because if your coding blocks are easy to comment on then you must understand them really well! Another thing to be aware of is that <, >, =, ≤, ≥ are hard for students for the first time (and for programmers who are years into their careers). When we set a math statement to < when it should be ≤ this is called an “off by one” error and this is a problem that happens to developers with 20 years of experience 😛 It is a very popular problem so be on the lookout for that. 

Түзетудің ең жақсы түрі - резеңке үйрекпен жөндеу! Бұл жерде сіз шынымен кодыңызда тұрып қалдыңыз және оның мағынасы жоқ. Сіз басқа біреумен мәселені анықтай алатынын білу үшін онымен сөйлесуге уақыт бөлгіңіз келеді, бірақ өкінішке орай, ешкім жоқ! Сонымен, сіздің үстеліңізде сенімді резеңке үйрек бар және сіз үйрек досыңызға мәселені дауыстап түсіндіресіз. Олар түсінуі үшін мұны өте қарапайым түрде жасау керек, содан кейін мәселені өзіңіз табасыз! Менің барлық әріптестерімнің үстелдерінде резеңке үйректер бар және мұны жиі жасайды!

Оқушыларға сұрақ қоюға арналған бағыттаушы сұрақтар: Қателерді түзету үшін тәжірибелі кодерлерге қанша уақыт қажет деп ойлайсыз? Сіз олар шынымен тез жете алады деп ойлайсыз, бірақ әрбір үлкен сайтта қателердің қанша уақыт бар екенін көруге арналған беттер бар (мысалы, Facebook) және олар сондай-ақ олардың кез келген беттерінің бұзылған/бұзылғанын және қазіргі уақытта жөндеу жұмыстары жүргізіліп жатқанын көрсетеді ( Facebook мысалы).

Қателерді қалай табасыз? (лоттар мен көптеген тестілеу!) Сіз қалай ойлайсыз, қанша тестілеуден өту керек? Басқа адамдарды қанша тестілеуден өткізу керек?

Қатені тапқаныңызды қалай білуге ​​болады? Кейде сіз басу керек түйме суреттің астында екенін түсіну үшін кескінді мәңгі басумен өткізе аласыз. Бұл қате ме? Бұл қолданба жасаушы жасаған дизайн таңдауы және олар бұл қате деп ойламайды, бірақ сіз жасай аласыз.

Тәлімгер кеңестері AmeriCorps қолдауымен ұсынылған.

stylized A, AmeriCorps logo in navy

КЕҢЕСТЕРДІ БҰҒАТТАУ

ХАБАРЛАМАЛАР МЕН ЖАПСЫРМАЛАР

Хабарлаушы компоненті кодтың неліктен бұзылғанын анықтауға көмектеседі. 

Хабарландырушыны App Inventor қолданбасына қою үшін оны пайдаланушы интерфейсі палитрасынан сүйреп апарыңыз.

ShowAlert example

Ескертуді пайдаланудың ең оңай жолы - белгілі бір блоктардың іске қосылғанын (не істемегенін) көру үшін ақпараты бар ShowAlert блоктарын қосу.

Хабарлардан басқа айнымалының мәні немесе ImageSprite орны сияқты ақпаратты көрсетуге болады.

Сондай-ақ, бағдарламаңыздағы ағымдағы ақпаратты көрсету үшін Жапсырмаларды қосуға болады. 

Мысалы, бағдарлама іске қосылған кезде белгілі бір оқиғалар орын алған кезде айнымалының мәнін білгіңіз келуі мүмкін. 

Жапсырма.Мәтінді білгіңіз келген нәрсеге орната аласыз және ол бағдарламада көрсетіледі. 

Қатені жойғаннан кейін Жапсырма көзге көрінбейді немесе оны бағдарламадан мүлдем жоя аласыз.

DO IT

 Do it мүмкіндігі отладтаудың тағы бір тамаша құралы болып табылады.

Бағдарламаңызды телефонмен және AI Companion бағдарламасымен немесе эмулятормен тікелей тестілеу кезінде «Do It» жаңа пәрменіне қатынаса аласыз.

Қосу мәзірі арқылы телефонға немесе эмуляторға қосылғанша пәрмен сұр түске бойылады.

Бұл блокты бағдарламаның өзімен әрекеттеспей іске қосуға мүмкіндік береді, осылайша айнымалының немесе элементтің ағымдағы мәнін көре аласыз. 

 

Тек «global» айнымалы блогын апарып, тінтуірдің оң жақ түймешігімен басыңыз. Ашылмалы мәзірден «Do It» тармағын таңдаңыз және кодтың сол блогы орындалады.

Do it on pulldown menu

Нәтижесі бар жолақтың үстінде сары «Орындау» жолағы пайда болады. Бұл кез келген компонент қасиеті үшін де жұмыс істей алады!

Do it block result

Сондай-ақ, бағдарламадағы бірдеңені өзгерту үшін Do It бағдарламасын пайдалануға болады. Мысалы, тізімдегі элементті өзгерткіңіз келуі мүмкін. Бұл үшін блокты апарып, Оны орындау пәрменін таңдаңыз. Нәтижені көре алмайсыз, бірақ тізім бағдарлама ішінде жаңартылады.

 

setting a list value with do it

Сондай-ақ, бағдарламаңызда бұрыннан бар код блогын іске қосуға болады. 

Мысалы, мұнда ListView элементтері Do It арқылы жаңартылады. Бұл бағдарламада көрініс табады. ListView жаңа элементтер жиынтығын Do It пәрменімен көрсетеді.

updating a listview with do it

СЫНАҚ ДЕРЕКТЕРІН ПАЙДАЛАНУ

Бағдарламаңызда пайдаланылатын ақпарат көп болса, сынақ деректерін пайдалану пайдалы болуы мүмкін. Тексеру деректері - бағдарламаның дұрыс жұмыс істеп тұрғанына көз жеткізу үшін пайдалануға болатын қарапайым, кішірек деректер жиынтығы.

Маңайдағы мейрамханаларды көрсететін қолданба жасап жатырсыз делік. Сіз мейрамхана туралы ақпаратты сақтау үшін Google Sheets қолданбасын пайдаланасыз.

Бір-екі тест мейрамханадан басталып, бағдарламаңыздың жұмыс істейтініне көз жеткізу үшін тексере аласыз.

Оны тексергеннен және жұмыс істегеннен кейін Google парағына мейрамхана деректерінің толық жиынтығын қосуға болады.

СИПАТТАРДЫ ӨЗГЕРТУ

Егер бағдарламаңызды тікелей сынап көрсеңіз, бағдарламаны іске қосу және оның әсерлерін көру кезінде Құрастырушыдағы сипат мәнін өзгертуге болады.

Кейде бұл мәселені ашуға көмектеседі.

Мысалы, ойынды кодтауыңыз мүмкін. Сприттің қалпы жұмыс істеп тұрғанда телефоныңызға дұрыс көрінбейді.

Тікелей тестілеу кезінде сіз жасай аласыз

  1. Құрастырушыға өту
  2. Sprite X және Y мәндерін өзгерту
  3. Жұмыс істеп тұрған қолданбадағы экрандағы Sprite орны өзгереді. 

Мұны экрандағы координаттарды тексеру және түсіну үшін пайдаланыңыз.

game with sprites

ЖАҒДАЙЛАУҒА КӨМЕКТЕУ ҮШІН AI ҚОЛДАНУ

MIT App Inventor бағдарламасында жөндеу кезінде ChatGPT, Gemini және Claude сияқты AI құралдары блок негізіндегі ортада жіберіп алу оңай мәселелерді жылдам анықтауға көмектеседі.

Мысалы, қолданбаңыз түймені басуға жауап бермесе, оқиға блоктарын AI-ге сипаттап, логикаңыз дұрыс болып көрінетінін сұрай аласыз. Сіз оның дұрыс орналастырылмаған шарттар немесе жетіспейтін инициализация сияқты нәрселерді ұстайтынын жиі байқайсыз.

Кейбір AI құралдары үшін сіз тіпті блоктарыңыздың скриншотын жүктеп алып, AI-дан логиканың не істейтінін білуін сұрай аласыз. Көздің жаңа жиынтығы шынымен кодты қалай оңтайландыру керектігін түсінуге мүмкіндік береді.

AI-ны тек мәселелерді шешіп қана қоймай, олардың неліктен болғанын түсінуге көмектесетін жөндеу серіктесі ретінде пайдаланыңыз!

girls looking at laptop during demo

1-ӘРЕКЕТ: ҚАТЕНІ ТҮЗЕТУ

Есептік уақыт: 20 минут

Timer бағдарламасындағы қателерді түзету

Бұл Таймер бағдарламасы онда бірнеше қателер бар.

  1. Бағдарламаны App Inventor бағдарламасына жүктеу.
  2. Бағдарламаны тексеру үшін эмуляторға немесе құрылғыға қосылыңыз.
  3. Мәтін жәшігіне ештеңе термей бастау түймешігін басып көріңіз. Не болады?
  4. Секунд саны үшін 0 немесе теріс санды енгізіп көріңіз. Не болады?
  5. Қателерді шартты блоктар арқылы түзетіңіз!

Бұл бір ықтимал шешім.

block solution to timer app

2-ӘРЕКЕТ: ТҮСІНІКТЕМЕ ҚОСУ

Есептік уақыт: 10 минут

App Inventor жобасына түсініктеме қосыңыз

Technovation үшін соңғы қолданбаны іске қоссаңыз, осы әрекет үшін сол қолданбаны пайдаланыңыз. Әйтпесе, 1-әрекеттегі Таймер қолданбасын пайдаланыңыз.

Қолданбаңызға блоктар тобы не істейтінін түсіндіретін кем дегенде бір пікір қосыңыз. Түсіну қиын деп ойлайтын блоктар тобын таңдаңыз, себебі бұл блоктар басқа біреуге, мысалы, топ мүшесіне түсіну қиын болуы мүмкін.

РЕФЛЕКСИЯ

Бұл кеңестер Technovation жобасы үшін мобильді қосымшаны кодтауды бастағанда көмектесе алады.

Бірақ есіңізде болсын...

Фото DKJS Франциска Шмитттің рұқсаты
Кодтау оңай емес.
Бағдарламаңыздың іске қосу үшін керемет жұмыс істемейтіні жақсы!
Кішігірім кесектердегі код.
Қолданбаңыздың кішкене бөлігін жұмысқа алған кезде тойлаңыз.
Үзілістер жасаңыздар! Кейде компьютерден бірнеше минутқа ғана қашып кету сізге қажетті жаңа перспективаны бере алады.

НЕГІЗГІ ТЕРМИНДЕРГЕ ШОЛУ

  • Қателеу – процесс кодерлері кодтың неліктен жұмыс істемейтінін анықтап, оны түзету үшін пайдаланады
  • Нұсқаны басқару бағдарламаңыздың жұмыс нұсқаларын алға жылжыған сайын сақтау
  • Деректерді тексеру – бағдарламаның дұрыс жұмыс істеп тұрғанына көз жеткізу үшін пайдалануға болатын қарапайым деректер жиынтығы
  • Түсініктемелер - оның не істеп жатқанын түсіндіру үшін кодқа енгізілген мәтін