MIT App Inventor бағдарламасында кодты жөндеу және қателерді түзету бойынша кеңестерді үйрену
Бұл сабаққа арналған іс-шаралар:
ЖАЛДАУ ДЕГЕН НЕ?
Түзету - процесс кодерлері өз кодының неліктен жұмыс істемейтінін анықтау үшін пайдаланады, содан кейін оны жұмыс істейтіндей етіп түзетеді.
Түзету термині есептеу техникасының пионері адмирал Грейс Хопперден шыққан. Ол 1940-шы жылдары Гарвард университетінде Марк II компьютерінде жұмыс істеген және компьютерге көбелегі кептеліп қалып, оның жұмысын тоқтатқан.
Көбелектен құтыла отырып, ол жүйені «отладка» жасап жатқанын айтты. Бағдарламашылар қазір бұл терминді «менің кодымдағы қателерді түзету» дегенді білдіреді.
КОДТАУ КЕҢЕСТЕРІ
Түзету көбінесе кодтаудың ең ренжітетін және көп уақытты қажет ететін бөлігі болуы мүмкін, сондықтан оған көп уақыт қалдыру өте маңызды!
Сондай-ақ сабырлы болу керек!
КІШКЕНТАЙ КЕСЕКТЕР
Кейде бағдарламашылар бүкіл бағдарламасын бір жолмен кодтауға, содан кейін оны тексеруге тырысады.
Бұл азғыруға жол бермеңіз!!!
Егер бірдеңе дұрыс жұмыс істемесе, бұл мүмкін болса, қатені қайдан түзетуге тырысу керектігін анықтау қиын.
Бағдарламаға арналған кодтауды кішкентай кесектерге бөліңіз.
Келесі нәрсені бастамас бұрын жұмыс істейтін бір нәрсені алыңыз.
Аздап кодтап, аздап тексеріп, оның жұмыс істейтінін растайды, содан кейін сәл көбірек кодтайды, сәл көбірек сынап көріңіз және т.б.
Мысалы, бағдарламаңызда әр түрлі әрекеттер жасайтын 5 батырма болса,
- Бірінші түйменің әрекетін кодтау
- Содан кейін оның жұмыс істейтініне көз жеткізу үшін тексеріңіз.
- Екінші батырмаға жылжу
- Қайталаңыз.
Кодты кері қайтудан гөрі бір жерге түзетіп, кодта қате болса, оны 5 жерде түзеткен дұрыс.
НҰСҚАЛАРДЫ БАСҚАРУ
Сіз «шағын бөліктер» ережесін ұстанып, қолданбаңыздың бір бөлігі жасалып, жұмыс істеп тұр делік.
Біраз жаңа код қосып, кенеттен барлығы жұмысын тоқтатады.
ЖОҚ!
Жаңа кодты жоюға тырысасыз, бірақ бағдарлама әлі жұмыс істемейді. Ненің дұрыс болмағанына сенімді емессіз және «болдырмау» батырмасының болғанын тілейсіз.
Мұндай сценарийлерді болдырмау үшін жұмыс істеп жатқан бөліктерді алған кезде бағдарлама нұсқаларын сақтауға болады.
Осылайша қате жіберсеңіз және оны қалай түзету керектігін білмесеңіз, сақтаған соңғы жұмыс нұсқасына қайта оралуға болады.
Сондай-ақ, жұмыс бағдарламасын бұзуға алаңдамай жаңа мүмкіндіктермен тәжірибе жасау үшін нұсқаларды басқару элементін пайдалануға болады.
App Inventor бағдарламасында әр түрлі нұсқаларды «ретінде сақтау» және «бақылау-өткізу пункті» көмегімен сақтаудың екі жолы бар.
«Бақылау-өткізу пункті» параметрі көшірмені қандай атаумен берсеңіз де сақтайды, бірақ түпнұсқада жұмыс істеуді жалғастырасыз. Идея – жобаның негізгі нұсқасында жұмыс істейтін және өз дамуыңызды жалғастыратын нұсқаны «бақылау-өткізу пункті» деп айтуға болады.
«Жобаны басқаша сақтау» параметрі сіз жұмыс істеп жатқан кодтың көшірмесін жасап, оны жаңа атаумен сақтайды. Сіз жасаған кез келген өңдеулер жаңа көшірмеде болады.
БЛОКТАРДЫ ҚҰЛАТУ
Блоктарды коллапстау - кодты ұйымдасқан түрде сақтау тәсілі, өйткені код жұмыс кеңістігі блоктармен көп жинала бастайды.
Блокты тінтуірдің оң жақ түймешігімен бассаңыз, оны жию опциясын көресіз.
Блоктарды қайта кеңейту үшін оларды тінтуірдің оң жақ түймешігімен басып, Блокты кеңейту пәрменін таңдаңыз.
Құлаған блоктар оны экрандағы бір жолаққа дейін қысады.
Олар әлі күнге дейін тұрақты блоктармен бірдей жұмыс істейді, тек аз орын алады. Егер сізде енді өңдеудің қажеті жоқ блоктар болса және экранды тазалағыңыз келсе, бұл пайдалы болуы мүмкін
БЛОКТАРДЫ АЖЫРАТУ
Блоктарды да ажыратуға болады.
Олар экранда қалады, бірақ бағдарламада іске қоспайды.
Ажыратылатын блоктар арқылы бағдарламаны белгілі бір код блоктарсыз тексеруге болады. Оларды кейінірек қосуға болады және олар іске қосылады.
Сондай-ақ, тек тестілеу үшін пайдаланылған блоктарды өшіруге болады, мысалы, Хабарламашылар.
App Inventor бағдарламасында блоктарды ажыратудың екі жолы бар
Жай ғана блоктарды оқиға өңдеушісі блогынан апару оларды өшіріп, іске қосуына жол бермейді. Өйткені олар ешбір оқиғаға кірмейді, ешқашан орындай алмайды. Оларды пайдалану үшін әрқашан қайта байлауға болады.
Сондай-ақ, блокты немесе блоктар тобын тінтуірдің оң жақ түймешігімен басып, «Блокты ажырату» пәрменін таңдауға болады. Блоктар орындалмайтынын көрсету үшін сұр түсті болып шығады. Осылайша блоктардың барлық жиынтығын ажыратуға болады.
Блоктарды қайта қосу үшін жай ғана тінтуірдің оң жақ түймешігімен басып, «Блокты қосу» пәрменін таңдаңыз.
ТҮСІНІКТЕМЕЛЕР
Бағдарламашылар оның не істеп жатқанын түсіндіру үшін өз кодында түсініктемелерді жиі қалдырады.
Комментарийлер басқа адамдар сіздің кодыңызға қараған кезде пайдалы болуы мүмкін, мысалы, командаластар, тәлімгерлер және төрешілер.
Кодқа кейінірек оралсаңыз және оның бөліктерінің не істейтінін ұмытып қалсаңыз, түсініктемелер де көмектеседі.
Комментарий қосу үшін блоктарды тінтуірдің оң жақ түймешігімен басып, «Түсініктеме қосу» пәрменін таңдаңыз.
Осыдан кейін блоктың бұрышында сұрақ белгісі пайда болады және мәтінді қосуға болады. Түсініктемені сұрақ белгісін басу арқылы көруге болады.
Тәлімгер Кеңесі
Үздік тәжірибелер: Пікірлер бағдарламалаудағы ең пайдалы нәрсе болып табылады.
Кодер бір нәрсені кодтап, содан кейін ұйқыға кетіп, келесі таңертең қайтып келіп, түнгі уақытта не істеп жатқаны туралы еш күдіктенбеген кездер көп болды. Әрқашан түсініктемелер жазыңыз!
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 қолдауымен ұсынылған.
КЕҢЕСТЕРДІ БҰҒАТТАУ
ХАБАРЛАМАЛАР МЕН ЖАПСЫРМАЛАР
Хабарлаушы компоненті кодтың неліктен бұзылғанын анықтауға көмектеседі.
Хабарландырушыны App Inventor қолданбасына қою үшін оны пайдаланушы интерфейсі палитрасынан сүйреп апарыңыз.
Ескертуді пайдаланудың ең оңай жолы - белгілі бір блоктардың іске қосылғанын (не істемегенін) көру үшін ақпараты бар ShowAlert блоктарын қосу.
Хабарлардан басқа айнымалының мәні немесе ImageSprite орны сияқты ақпаратты көрсетуге болады.
Сондай-ақ, бағдарламаңыздағы ағымдағы ақпаратты көрсету үшін Жапсырмаларды қосуға болады.
Мысалы, бағдарлама іске қосылған кезде белгілі бір оқиғалар орын алған кезде айнымалының мәнін білгіңіз келуі мүмкін.
Жапсырма.Мәтінді білгіңіз келген нәрсеге орната аласыз және ол бағдарламада көрсетіледі.
Қатені жойғаннан кейін Жапсырма көзге көрінбейді немесе оны бағдарламадан мүлдем жоя аласыз.
DO IT
Do it мүмкіндігі отладтаудың тағы бір тамаша құралы болып табылады.
Бағдарламаңызды телефонмен және AI Companion бағдарламасымен немесе эмулятормен тікелей тестілеу кезінде «Do It» жаңа пәрменіне қатынаса аласыз.
Қосу мәзірі арқылы телефонға немесе эмуляторға қосылғанша пәрмен сұр түске бойылады.
Бұл блокты бағдарламаның өзімен әрекеттеспей іске қосуға мүмкіндік береді, осылайша айнымалының немесе элементтің ағымдағы мәнін көре аласыз.
Тек «global» айнымалы блогын апарып, тінтуірдің оң жақ түймешігімен басыңыз. Ашылмалы мәзірден «Do It» тармағын таңдаңыз және кодтың сол блогы орындалады.
Нәтижесі бар жолақтың үстінде сары «Орындау» жолағы пайда болады. Бұл кез келген компонент қасиеті үшін де жұмыс істей алады!
Сондай-ақ, бағдарламадағы бірдеңені өзгерту үшін Do It бағдарламасын пайдалануға болады. Мысалы, тізімдегі элементті өзгерткіңіз келуі мүмкін. Бұл үшін блокты апарып, Оны орындау пәрменін таңдаңыз. Нәтижені көре алмайсыз, бірақ тізім бағдарлама ішінде жаңартылады.
Сондай-ақ, бағдарламаңызда бұрыннан бар код блогын іске қосуға болады.
Мысалы, мұнда ListView элементтері Do It арқылы жаңартылады. Бұл бағдарламада көрініс табады. ListView жаңа элементтер жиынтығын Do It пәрменімен көрсетеді.
СЫНАҚ ДЕРЕКТЕРІН ПАЙДАЛАНУ
Бағдарламаңызда пайдаланылатын ақпарат көп болса, сынақ деректерін пайдалану пайдалы болуы мүмкін. Тексеру деректері - бағдарламаның дұрыс жұмыс істеп тұрғанына көз жеткізу үшін пайдалануға болатын қарапайым, кішірек деректер жиынтығы.
Маңайдағы мейрамханаларды көрсететін қолданба жасап жатырсыз делік. Сіз мейрамхана туралы ақпаратты сақтау үшін Google Sheets қолданбасын пайдаланасыз.
Бір-екі тест мейрамханадан басталып, бағдарламаңыздың жұмыс істейтініне көз жеткізу үшін тексере аласыз.
Оны тексергеннен және жұмыс істегеннен кейін Google парағына мейрамхана деректерінің толық жиынтығын қосуға болады.
СИПАТТАРДЫ ӨЗГЕРТУ
Егер бағдарламаңызды тікелей сынап көрсеңіз, бағдарламаны іске қосу және оның әсерлерін көру кезінде Құрастырушыдағы сипат мәнін өзгертуге болады.
Кейде бұл мәселені ашуға көмектеседі.
Мысалы, ойынды кодтауыңыз мүмкін. Сприттің қалпы жұмыс істеп тұрғанда телефоныңызға дұрыс көрінбейді.
Тікелей тестілеу кезінде сіз жасай аласыз
- Құрастырушыға өту
- Sprite X және Y мәндерін өзгерту
- Жұмыс істеп тұрған қолданбадағы экрандағы Sprite орны өзгереді.
Мұны экрандағы координаттарды тексеру және түсіну үшін пайдаланыңыз.
ЖАҒДАЙЛАУҒА КӨМЕКТЕУ ҮШІН AI ҚОЛДАНУ
MIT App Inventor бағдарламасында жөндеу кезінде ChatGPT, Gemini және Claude сияқты AI құралдары блок негізіндегі ортада жіберіп алу оңай мәселелерді жылдам анықтауға көмектеседі.
Мысалы, қолданбаңыз түймені басуға жауап бермесе, оқиға блоктарын AI-ге сипаттап, логикаңыз дұрыс болып көрінетінін сұрай аласыз. Сіз оның дұрыс орналастырылмаған шарттар немесе жетіспейтін инициализация сияқты нәрселерді ұстайтынын жиі байқайсыз.
Кейбір AI құралдары үшін сіз тіпті блоктарыңыздың скриншотын жүктеп алып, AI-дан логиканың не істейтінін білуін сұрай аласыз. Көздің жаңа жиынтығы шынымен кодты қалай оңтайландыру керектігін түсінуге мүмкіндік береді.
AI-ны тек мәселелерді шешіп қана қоймай, олардың неліктен болғанын түсінуге көмектесетін жөндеу серіктесі ретінде пайдаланыңыз!
1-ӘРЕКЕТ: ҚАТЕНІ ТҮЗЕТУ
Timer бағдарламасындағы қателерді түзету
- Бағдарламаны App Inventor бағдарламасына жүктеу.
- Бағдарламаны тексеру үшін эмуляторға немесе құрылғыға қосылыңыз.
- Мәтін жәшігіне ештеңе термей бастау түймешігін басып көріңіз. Не болады?
- Секунд саны үшін 0 немесе теріс санды енгізіп көріңіз. Не болады?
- Қателерді шартты блоктар арқылы түзетіңіз!
Шешімді көргіңіз келсе, осы жерді басыңыз
Бұл бір ықтимал шешім.
2-ӘРЕКЕТ: ТҮСІНІКТЕМЕ ҚОСУ
App Inventor жобасына түсініктеме қосыңыз
Қолданбаңызға блоктар тобы не істейтінін түсіндіретін кем дегенде бір пікір қосыңыз. Түсіну қиын деп ойлайтын блоктар тобын таңдаңыз, себебі бұл блоктар басқа біреуге, мысалы, топ мүшесіне түсіну қиын болуы мүмкін.
РЕФЛЕКСИЯ
Бұл кеңестер Technovation жобасы үшін мобильді қосымшаны кодтауды бастағанда көмектесе алады.
Бірақ есіңізде болсын...
НЕГІЗГІ ТЕРМИНДЕРГЕ ШОЛУ
- Қателеу – процесс кодерлері кодтың неліктен жұмыс істемейтінін анықтап, оны түзету үшін пайдаланады
- Нұсқаны басқару – бағдарламаңыздың жұмыс нұсқаларын алға жылжыған сайын сақтау
- Деректерді тексеру – бағдарламаның дұрыс жұмыс істеп тұрғанына көз жеткізу үшін пайдалануға болатын қарапайым деректер жиынтығы
- Түсініктемелер - оның не істеп жатқанын түсіндіру үшін кодқа енгізілген мәтін
ҚОСЫМША РЕСУРСТАР
Мұнда тағы бірнеше App Inventor жөндеу ресурстары берілген.
