მიიღებთ რჩევებს კოდის გამართვისა და შეცდომების გამოსწორების შესახებ MIT App Inventor-ში
აქტივობები ამ გაკვეთილისთვის:
ᲠᲐ ᲐᲠᲘᲡ კოდის ᲒᲐᲛᲐᲠᲗᲕᲐ (დაბაგვა)?
კოდის გამართვა (დაბაგვა) არის პროცესი, რომელსაც კოდერები იყენებენ იმის გასარკვევად, თუ რატომ არ მუშაობს მათი კოდი და შემდეგ ასწორებენ ამ კოდს.
ტერმინი "დაბაგვა", იგივე კოდის გამართვა, პირველად მოიფიქრა ადმირალმა გრეის ჰოპერმა, რომელიც კომპიუტერული მეცნიერების პიონერი იყო. ის 1940-იან წლებში ჰარვარდის უნივერსიტეტში Mark II კომპიუტერზე მუშაობდა, როდესაც კომპიუტერში პეპელა გაიჭედა და კომპიუტერი აღარ ამუშავდა.
პეპელას მოშორების შემდეგ, მან აღნიშნა, რომ ისინი სისტემას „ბაგებს“ აშორებდნენ ანუ „დაბაგვას“ აკეთებდნენ. დღესდღეობით პროგრამისტები ამ ტერმინს იყენებენ შემდეგი მნიშვნელობით: „შეცდომების გასწორება ჩემს კოდში“.
ᲙᲝᲓᲘᲠᲔᲑᲘᲡ ᲠᲩᲔᲕᲔᲑᲘ
კოდის გამართვა ხშირად შეიძლება იყოს კოდირების ყველაზე იმედგამაცრუებული და შრომატევადი ნაწილი, ამიტომ ძალიან მნიშვნელოვანია ამისთვის ბევრი დრო გამონახოთ!
და ასევე მოთმინება გამოიჩინოთ!
ᲞᲐᲢᲐᲠᲐ ნაწილები
ზოგჯერ პროგრამისტებს უჩნდებათ ცდუნება, დააკოდირონ მთელი აპი პირველივე ჯერზე და შემდეგ შეამოწმონ იგი.
ამ ცდუნებას არ აჰყვეთ!!!
თუ რამე არ მუშაობს სწორად, რაც დიდი ალბათობით მოხდება, გაძნელდება იმის გარკვევა, თუ სად უნდა დაიწყოთ შეცდომის გასწორება.
დაყავით თქვენი აპლიკაციის კოდი პატარა ნაწილებად.
ჯერ ერთი რამ დაამთავრეთ, სანამ შემდეგ კოდზე დაიწყებთ მუშაობას.
ჯერ ცოტა დააკოდირე, შენდეგ დატესტე, დარწმუნდი მის გამართულობაში, შემდეგ კიდევ დააკოდირე, ცოტა მეტად სცადე პროტოტიპი და ა.შ.
მაგალითად, თუ თქვენს აპს აქვს 5 ღილაკი, და თითოეულს სხვადასხვა ფუნქცია აქვს,
- ჯერ პირველი ღილაკი დააკოდირეთ
- შემდეგ შეამოწმეთ, რომ დარწმუნდეთ მის მუშაობაში
- გადადით მეორე ღილაკზე
- გაიმეორეთ.
ჯობია კოდი ერთ ადგილას შეამოწმოთ, ვიდრე დაბრუნდეთ და გაასწოროთ 5 ადგილას, თუ კოდში შეცდომაა.
ᲕᲔᲠᲡᲘᲘᲡ ᲙᲝᲜᲢᲠᲝᲚᲘ
დავუშვათ, მიჰყვებით „პატარა ნაწილაკების“ წესს და აამუშავეთ თქვენი აპლიკაციის ერთი ნაწილი.
თქვენ ამატებთ ახალ კოდს და უცებ ყველაფერი წყვეტს მუშაობას.
ᲝᲰ ᲐᲠᲐ!
თქვენ ცდილობთ ახალი კოდის წაშლას, მაგრამ თქვენი აპი მაინც არ მუშაობს. თქვენ არ ხართ დარწმუნებული, რა მოხდა, რა გააკეთეთ არასწორად და გსურთ გქონდეთ „უკან დაბრუნების“ ღილაკი.
მსგავსი სიტუაციების თავიდან ასაცილებლად, შეგიძლიათ შეინახოთ თქვენი აპლიკაციის ვერსიები მუშაობის პროცესში.
ამ გზით, თუ შეცდომას დაუშვებთ და არ იცით როგორ გამოასწოროთ ის, შეგიძლიათ დაუბრუნდეთ თქვენს მიერ შენახულ ბოლო სამუშაო ვერსიას.
ასევე შეგიძლიათ გამოიყენოთ ვერსიის კონტროლი ახალი ფუნქციების ექსპერიმენტებისთვის, თქვენი სამუშაო აპლიკაციის "გაფუჭების" გარეშე.
სხვადასხვა ვერსიის შესანახად ორი გზა არსებობს App Inventor "შენახვა როგორც" და "გამშვები პუნქტის" გამოყენებით.
" გამშვები პუნქტის " ვარიანტი შეინახავს ასლს თქვენ მიერ მიცემული სახელით, მაგრამ თქვენ შეძლებთ მუშაობის გაგრძელებას ორიგინალში. "გამშვები პუნქტის" იდეა მდგომარეობს იმაში, რომ „შეამოწმოთ“ უკვე მომუშავე ვერსია და განაგრძოთ აპის განვითარება პროექტის მთავარ ვერსიაში.
ვარიანტი „პროექტის შენახვა როგორც“ შექმნის კოდის ასლს, რომელზეც მუშაობთ და შეინახავს მას ახალი სახელით. თქვენ მიერ შეტანილი ნებისმიერი შესწორება იქნება ახალ ასლში.
ჩამოშლილი ბლოკები
ჩამოშლილი ბლოკების ფუნქცია არის კოდის ორგანიზების საშუალება, როდესაც კოდის სამუშაო სივრცე ბლოკებით ძალიან გადაიტვირთება.
თუ დააწკაპუნეთ ბლოკზე მარჯვენა ღილაკით, დაინახავთ მის ჩამოშლის ვარიანტს (Collapse Block).
თქვენი ბლოკების ხელახლა გასაფართოებლად, დააწკაპუნეთ მათზე მარჯვენა ღილაკით და აირჩიეთ ბლოკის გაფართოება (Expand Block).
ჩამოშლილი ბლოკები კოდს ერთ ზოლზე "შეკუმშავს".
ჩამოშლილი ბლოკები ისევ ისე მუშაობს, როგორც ჩვეულებრივი ბლოკები, უბრალოდ ნაკლებ ადგილს იკავებს. ეს ფუნქცია შეიძლება სასარგებლო იყოს მაშინ, როდესაც კონკრეტული ბლოკების რედაქტირება აღარ გჭირდებათ ან გსურთ ეკრანის გასუფთავება.
ᲑᲚᲝᲙᲔᲑᲘᲡ ᲒᲐᲛᲝᲠᲗᲕᲐ
ასევე შესაძლებელია ბლოკების გამორთვა.
ბლოკები დარჩება ეკრანზე, მაგრამ არ იმუშავებს აპში.
გამორთული ბლოკებით, შეგიძლიათ დატესტოთ აპლიკაცია გარკვეული კოდის ბლოკების გარეშე. ისინი შეგიძლიათ მოგვიანებით ჩართოთ და მათი მუშაობაც შეამოწმოთ.
თქვენ ასევე შეგიძლიათ გამორთოთ ბლოკები, რომლებიც გამოიყენეთ მხოლოდ ტესტირებისთვის, როგორიცაა Notifiers.
App Inventor-ში ბლოკების გამორთვის ორი გზა არსებობს
მოვლენის დამმუშავებლის ბლოკიდან ბლოკების უბრალოდ წამოღება გამორთავს მათ და ხელს შეუშლის მათ გაშვებას. იქიდან გამომდინარე, რომ ეს ბლოკები არ არიან რაიმე მოვლენის ნაწილნი, იმის გამო, რომ ისინი არ არიან რაიმე მოვლენის ნაწილი, ისინი ვერანაირად ვერ ამუშავდება. მათ გამოსაყენებლად ყოველთვის შესაძლებელია უკანვე მიმაგრება.
თქვენ ასევე შეგიძლიათ დააწკაპუნოთ მარჯვენა ღილაკით ბლოკზე ან ბლოკების ჯგუფზე და აირჩიოთ " ბლოკის გამორთვა (Disable Block) ". ბლოკები ნაცრისფრად გამოჩნდება, იმის ნიშნად, რომ ისინი არ მუშაობენ. ამ გზით შესაძლებელია ბლოკების მთელი კომპლექტის გამორთვა.
ბლოკების ხელახლა გასააქტიურებლად, უბრალოდ დააწკაპუნეთ მაუსის მარჯვენა ღილაკზე და აირჩიეთ „ ბლოკის ჩართვა (Enable Block)“ .
ᲙᲝᲛᲔᲜᲢᲐᲠᲔᲑᲘ
პროგრამისტები ხშირად ტოვებენ კომენტარებს თავიანთ კოდში მისი ფუნქციის ასახსნელად.
კომენტარები გამოსადეგია, როდესაც სხვა ადამიანები (თანაგუნდელები, მენტორები და მოსამართლეები) უყურებენ თქვენს კოდს.
კომენტარები ასევე შეიძლება დაგვეხმაროს იმ შემთხვევაში, თუ მოგვიანებით დაუბრუნდებით კოდს, მაგრამ დაგავიწყდებათ მისი გარკვეული ნაწილების ფუნქცია.
კომენტარის დასამატებლად დააწკაპუნეთ ბლოკებზე მარჯვენა ღილაკით და აირჩიეთ „კომენტარის დამატება (Add Comment)“.
ამის შემდეგ ბლოკის კუთხეში გამოჩნდება კითხვის ნიშანი და შეგეძლებათ ტექსტის დამატება. კომენტარის ნახვა შესაძლებელია კითხვის ნიშანზე დაწკაპუნებით.
მენტორის რჩევა
საუკეთესო პრაქტიკა: კომენტარები პროგრამირების ყველაზე სასარგებლო ელემენტია.
არაერთხელ ყოფილა შემთხვევა, როცა პროგრამისტს რაღაც დაუწერია, შემდეგ დაუძინია და მეორე დილით წარმოდგენა აღარ ჰქონდა, რა გააკეთა წინა ღამეს. ყოველთვის დაწერეთ კომენტარები!
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 ) და რომელი გვერდია გაფუჭებული/გატეხილი და მიმდინარეობს გამართვის პროცესი ( ფეისბუქის მაგალითი ).
როგორ პოულობთ შეცდომებს? (ბევრი და ბევრი ტესტირება!) როგორ ფიქრობთ, რამდენერ უნდა დატესტოთ აპი? რამდენჯერ უნდა დატესტონ აპი სხვებმა?
როგორ ხვდებით როდის იპოვეთ შეცდომა? შეიძლება დიდი ხანი აწკაპუნებდეთ სურათზე, თუმცა ღილაკი, რომელსაც უნდა დააჭიროთ, სურათის ქვეშ შეიძლება აღმოჩნდეს. ეს არის შეცდომა? ეს არის დიზაინის არჩევანი, რომელიც აპლიკაციის შემქმნელმა გააკეთა; ისინი შეიძლება ამ არჩევანს შეცდომად არ მიიჩნევდნენ, თქვენთვის კი, პირიქით, პრობლემას წარმოადგენდეს.
მენტორის რჩევები მოწოდებულია AmeriCorps-ის მხარდაჭერით.
კოდის გამართვის (დაბაგვის) ᲠᲩᲔᲕᲔᲑᲘ
ᲨᲔᲢᲧᲝᲑᲘᲜᲔᲑᲔᲑᲘ ᲓᲐ ᲔᲢᲘᲙᲔᲢᲔᲑᲘ
Notifier კომპონენტი დაგეხმარებათ იმის გარკვევაში, თუ რატომ არის არასწორი თქვენი კოდი.
Notifier-ის App Inventor-ში ჩასასმელად აპლიკაცია გადაიტანეთ მომხმარებლის ინტერფეისის პალიტრიდან.
Notifier-ის გამოყენების უმარტივესი გზაა ShowAlert ბლოკების დამატება ინფორმაციისთვის, კონკრეტული ბლოკების გაშვების სანახავად.
შეტყობინებების გარდა, შეგიძლიათ აჩვენოთ ინფორმაცია, როგორიცაა ცვლადის მნიშვნელობა ან ImageSprite-ის პოზიცია.
ასევე შეგიძლიათ დაამატოთ ლეიბლები, ეტიკეტები აპლიკაციაში მიმდინარე ინფორმაციის საჩვენებლად.
მაგალითად, შეიძლება გსურდეთ იცოდეთ ცვლადის მნიშვნელობა, რადგან გარკვეული მოვლენები ხდება აპის გაშვებისას.
თქვენ შეგიძლიათ დააყენოთ Label.Text იმაზე, რაც გსურთ იცოდეთ და ის გამოჩნდება თქვენს აპლიკაციაში.
თქვენი შეცდომის გამართვის შემდეგ, შეგიძლიათ ლეიბლი უხილავი გახადოთ, ან მთლიანად წაშალოთ იგი აპიდან.
ᲒᲐᲐᲙᲔᲗᲔთ
Do it ფუნქცია არის კიდევ ერთი შესანიშნავი ინსტრუმენტი კოდის გასამართად.
სანამ პირდაპირ ამოწმებთ თქვენს აპს, ტელეფონით და AI Companion აპით, ან ემულატორიტნ, თქვენ გაქვთ წვდომა ახალ ბრძანებაზე, „Do It“.
ბრძანება ნაცრისფერია, სანამ არ დაუკავშირებთ ტელეფონს ან ემულატორს Connect მენიუს მეშვეობით.
Do it გაძლევთ საშუალებას გაუშვათ ბლოკი თავად აპთან ურთიერთობის გარეშე, ასე რომ თქვენ შეგიძლიათ ნახოთ ცვლადის ან ელემენტის მიმდინარე მნიშვნელობა.
უბრალოდ გადაიტანეთ „get global“ ცვლადის ბლოკი და დააწკაპუნეთ მარჯვენა ღილაკზე. ჩამოსაშლელი მენიუდან აირჩიეთ „Do It“ და კოდის ეს ბლოკი გააქტიურდება.
ყუთის ზემოთ გამოჩნდება ყვითელი ყუთი Do It შედეგით. ამან შეიძლება იმუშაოს ნებისმიერი კომპონენტის თვისებაზეც!
თქვენ ასევე შეგიძლიათ გამოიყენოთ Do It აპლიკაციაში რაღაცის შესაცვლელად. მაგალითად, შეიძლება გსურთ შეცვალოთ ელემენტი სიაში. ამისათვის გადაიტანეთ ბლოკი და აირჩიეთ Do It. შედეგს ვერ დაინახავთ, მაგრამ სია განახლდება აპში.
ასევე შესაძლებელია არსებული კოდის ბლოკის აპლიკაციაში გაშვება.
მაგალითად, აქ ListView ელემენტები განახლდება Do It-ის გამოყენებით. ეს აისახება აპლიკაციაში. ListView აჩვენებს ახალ ელემენტებს, რომლებიც დაყენებულია Do It ბრძანებით.
ᲒᲐᲛᲝᲘᲧᲔᲜᲔᲗ ᲢᲔᲡᲢᲘᲡ ᲛᲝᲜᲐᲪᲔᲛᲔᲑᲘ
თუ გაქვთ ბევრი ინფორმაცია აპლიკაციაში გამოსაყენებლად, შეიძლება გამოგადგეთ ტესტის მონაცემების გამოყენება. სატესტო მონაცემები არის მონაცემთა უფრო მარტივი, მცირე კომპლექტი, რომელიც გამოიყენება აპლიკაციის მუშაობის სისწორეში დასარწმუნებლად.
ვთქვათ, ქმნით აპლიკაციას, რომელიც აჩვენებს ახლომდებარე რესტორნებს. თქვენ იყენებთ Google Sheets-ს რესტორნების შესახებ ინფორმაციის შესანახად.
შეგიძლიათ დაიწყოთ მხოლოდ ერთი ან ორი სატესტო რესტორნით და შეამოწმოთ თქვენი აპლიკაცია.
მას შემდეგ რაც ის ტესტირება და იმუშავებს, შეგიძლიათ დაამატოთ რესტორნის მონაცემების სრული ნაკრები თქვენს Google Sheet-ში.
ᲗᲕᲘᲡᲔᲑᲔᲑᲘᲡ ᲨᲔᲪᲕᲚᲐ
თუ პირდაპირ ამოწმებთ თქვენს აპს, შეგიძლიათ შეცვალოთ თვისების ღირებულება დიზაინერში, სანამ აპი გაშვებული გაქვთ და შესაძლებელია მისი ეფექტების ნახვა.
ზოგჯერ ეს დაგეხმარებათ პრობლემის გამოვლენაში.
მაგალითად, თქვენ შესაძლოა თამაშს აკოდირებდეთ. Sprite-ის პოზიცია სწორად არ გეჩვენებათ თქვენს ტელეფონში მისი ტესტირებისას.
ტესტირებისას შეგიძლიათ
- გადახვიდეთ დიზაინერში
- შეცვალეთ Sprite-ის X და Y მნიშვნელობები
- Sprite-ის პოზიცია ეკრანზე გაშვებულ აპლიკაციაში შეიცვლება.
გამოიყენეთ ეს თქვენს ეკრანზე კოორდინატების შესამოწმებლად.
ხელოვნური ინტელექტის გამოყენება შეცდომების აღმოსაფხვრელად
MIT-ში გამართვისას App Inventor ხელოვნური ინტელექტის ისეთი ინსტრუმენტები, როგორიცაა ChatGPT, Gemini და Claude, დაგეხმარებათ სწრაფად აღმოაჩინოთ ისეთი პრობლემები, რომელთა გამოტოვებაც ადვილია ბლოკებზე დაფუძნებულ გარემოში.
მაგალითად, თუ თქვენი აპლიკაცია არ რეაგირებს ღილაკებზე დაწკაპუნებაზე, შეგიძლიათ აღწეროთ თქვენი მოვლენების ბლოკები ხელოვნურ ინტელექტს და ჰკითხოთ, სწორად გამოიყურება თუ არა თქვენი ლოგიკა. ხშირად აღმოაჩენთ, რომ ის აფიქსირებს ისეთ რამეებს, როგორიცაა არასწორად განთავსებული პირობები ან ინიციალიზაციის ნაკლებობა.
ზოგიერთი ხელოვნური ინტელექტის ხელსაწყოს შემთხვევაში, შეგიძლიათ ატვირთოთ თქვენი ბლოკების ეკრანის ანაბეჭდი და სთხოვოთ ხელოვნურ ინტელექტს, აგიხსნათ, თუ რას აკეთებს ლოგიკა. ახალი თვალსაზრისის ქონა ნამდვილად დაგეხმარებათ უკეთ გაიგოთ, თუ როგორ ოპტიმიზაცია გაუკეთოთ თქვენს კოდს.
გამოიყენეთ ხელოვნური ინტელექტი, როგორც გამართვის პარტნიორი, რომელიც არა მხოლოდ პრობლემებს გადაჭრის, არამედ დაგეხმარებათ გაიგოთ, თუ რატომ წარმოიშვა ისინი!
ᲐᲥᲢᲘᲕᲝᲑᲐ 1: ᲨᲔᲪᲓᲝᲛᲘᲡ ᲒᲐᲛᲝᲡᲬᲝᲠᲔᲑᲐ
შეასწორეთ შეცდომები ტაიმერის აპლიკაციაში
- ჩატვირთეთ აპლიკაცია App Inventor-ში.
- დაუკავშირდით ემულატორს ან მოწყობილობას აპის შესამოწმებლად.
- სცადეთ დააჭიროთ დაწყებას ტექსტურ ველში არაფრის აკრეფის გარეშე. რა მოხდება?
- სცადეთ შეიყვანოთ 0 ან უარყოფითი რიცხვი წამების რაოდენობისთვის. რა ხდება?
- შეასწორეთ შეცდომები პირობითი ბლოკების გამოყენებით!
დააწკაპუნეთ აქ, თუ გსურთ იხილოთ გადაწყვეტა
ეს ერთ-ერთი შესაძლო გამოსავალია.
ᲐᲥᲢᲘᲕᲝᲑᲐ 2: ᲙᲝᲛᲔᲜᲢᲐᲠᲘᲡ ᲓᲐᲛᲐᲢᲔᲑᲐ
დაამატეთ კომენტარი თქვენს App Inventor პროექტი
დაამატეთ მინიმუმ ერთი კომენტარი თქვენს აპლიკაციაში, სადაც ახსნით რას აკეთებს ბლოკების ჯგუფი. შეარჩიეთ ბლოკების ჯგუფი, რომლის გაგებაც თქვენი აზრით ყველაზე რთულია, ვინაიდან ამ ბლოკების გაგება ალბათ სხვებისთვისას ყველაზე რთული იქნება.
რეფლექსია
ეს რჩევები დაგეხმარებათ Technovation-ის მობილური აპლიაკციის კოდირების პროცესში.
მაგრამ გახსოვდეთ…
ძირითადი ტერმინების მიმოხილვა
- კოდის გამართვა (დაბაგვა) – პროცესი, რომელსაც პროგრამისტები იყენებენ იმის გასარკვევად, თუ რატომ არ მუშაობს მათი კოდი და, შემდეგ ასწორებენ მათ
- ვერსიის კონტროლი – აპის სამუშაო ვერსიების შენახვა რაიმე პროგრესის მიღწევისას
- სატესტო მონაცემი – მონაცემთა უფრო მარტივი კომპლექტი, რომელიც შეგიძლიათ გამოიყენოთ აპლიკაციის გამართულად მუშაობის სიზუსტეში დასარწმუნებლად.
- კომენტარები - ტექსტი, რომელიც შედის კოდში მისი ფუნქციის ასახსნელად
ᲓᲐᲛᲐᲢᲔᲑᲘᲗᲘ ᲠᲔᲡᲣᲠᲡᲔᲑᲘ
ქვემოთ მოცემულია კიდევ რამდენიმე რესურსი App Inventor-ში კოდის გასამართად.
