კოდის გამართვა Thunkable-ში

გაეცნობით რჩევებს კოდის გამართვისა და შეცდომების გამოსწორების შესახებ Thunkable-ში

ᲠᲐ ᲐᲠᲘᲡ კოდის ᲒᲐᲛᲐᲠᲗᲕᲐ (დაბაგვა)?

კოდის გამართვა (დაბაგვა) არის პროცესი, რომელსაც კოდერები იყენებენ იმის გასარკვევად, თუ რატომ არ მუშაობს მათი კოდი და შემდეგ ასწორებენ ამ კოდს.

ტერმინი "დაბაგვა", იგივე კოდის გამართვა, პირველად მოიფიქრა ადმირალმა გრეის ჰოპერმა, რომელიც კომპიუტერული მეცნიერების პიონერი იყო. ის 1940-იან წლებში ჰარვარდის უნივერსიტეტში Mark II კომპიუტერზე მუშაობდა, როდესაც კომპიუტერში პეპელა გაიჭედა და კომპიუტერი აღარ ამუშავდა.

პეპელას მოშორების შემდეგ, მან აღნიშნა, რომ ისინი სისტემას „ბაგებს“ აშორებდნენ ანუ „დაბაგვას“ აკეთებდნენ. დღესდღეობით პროგრამისტები ამ ტერმინს იყენებენ შემდეგი მნიშვნელობით: „შეცდომების გასწორება ჩემს კოდში“.

გრეის ჰოპერი

ᲙᲝᲓᲘᲠᲔᲑᲘᲡ ᲠᲩᲔᲕᲔᲑᲘ

ძაღლი კომპიუტერს უყურებს

კოდის გამართვა ხშირად შეიძლება იყოს კოდირების ყველაზე იმედგამაცრუებული და შრომატევადი ნაწილი, ამიტომ ძალიან მნიშვნელოვანია ამისთვის ბევრი დრო გამონახოთ!

და ასევე მოთმინება გამოიჩინოთ!

ᲞᲐᲢᲐᲠᲐ ნაწილები

ზოგჯერ პროგრამისტებს უჩნდებათ ცდუნება, დააკოდირონ მთელი აპი პირველივე ჯერზე და შემდეგ შეამოწმონ იგი.

ამ ცდუნებას არ აჰყვეთ!!!

თუ რამე არ მუშაობს სწორად, რაც დიდი ალბათობით მოხდება, გაძნელდება იმის გარკვევა, თუ სად უნდა დაიწყოთ შეცდომის გასწორება. 

შოკოლადის ნაჭრები

დაყავით თქვენი აპლიკაციის კოდი პატარა ნაწილებად. 

ჯერ ერთი რამ დაამთავრეთ, სანამ შემდეგ კოდზე დაიწყებთ მუშაობას. 

ჯერ ცოტა დააკოდირე, შენდეგ დატესტე, დარწმუნდი მის გამართულობაში, შემდეგ კიდევ დააკოდირე, ცოტა მეტად სცადე პროტოტიპი და ა.შ. 

მაგალითად, თუ თქვენს აპს აქვს 5 ღილაკი, და თითოეულს სხვადასხვა ფუნქცია აქვს,

  1. ჯერ პირველი ღილაკი დააკოდირეთ
  2. შემდეგ შეამოწმეთ, რომ დარწმუნდეთ მის მუშაობაში
  3. გადადით მეორე ღილაკზე
  4. გაიმეორეთ.

ჯობია კოდი ერთ ადგილას შეამოწმოთ, ვიდრე დაბრუნდეთ და გაასწოროთ 5 ადგილას, თუ კოდში შეცდომაა.

5 ღილაკი აპლიკაციაში

ᲕᲔᲠᲡᲘᲘᲡ ᲙᲝᲜᲢᲠᲝᲚᲘ

შეცდომით დაიწყო

დავუშვათ, მიჰყვებით „პატარა ნაწილაკების“ წესს და აამუშავეთ თქვენი აპლიკაციის ერთი ნაწილი.

თქვენ ამატებთ ახალ კოდს და უცებ ყველაფერი წყვეტს მუშაობას. 

ᲝᲰ ᲐᲠᲐ!

თქვენ ცდილობთ ახალი კოდის წაშლას, მაგრამ თქვენი აპი მაინც არ მუშაობს. თქვენ არ ხართ დარწმუნებული, რა მოხდა, რა გააკეთეთ არასწორად და გსურთ გქონდეთ „უკან დაბრუნების“ ღილაკი.

მსგავსი სიტუაციების თავიდან ასაცილებლად, შეგიძლიათ შეინახოთ თქვენი აპლიკაციის ვერსიები მუშაობის პროცესში. 

ამ გზით, თუ შეცდომას დაუშვებთ და არ იცით როგორ გამოასწოროთ ის, შეგიძლიათ დაუბრუნდეთ თქვენს მიერ შენახულ ბოლო სამუშაო ვერსიას.

ასევე შეგიძლიათ გამოიყენოთ ვერსიის კონტროლი ახალი ფუნქციების ექსპერიმენტებისთვის, თქვენი სამუშაო აპლიკაციის "გაფუჭების" გარეშე.

Thunkable-ის უფასო ვერსიას აქვს 10 პროექტის ლიმიტი, ასე რომ, თუ მიაღწევთ პროექტის ლიმიტს, შეგიძლიათ წაშალოთ ყველაზე ძველი ვერსიები ახლის შენახვამდე. 

თქვენი პროექტის ასლის შესაქმნელად:

  1. დააჭირეთ ეკრანის ზედა მარჯვენა კუთხეში არსებულ 3 წერტილს
  2. ჩამოსაშლელი მენიუდან აირჩიეთ „პროექტის დუბლიკატი (Duplicate Project)“.
  3. შენახული ასლებს სახელი გადაარქვით თვალყურის სადევნდებლად. v1, v2 ნუმერაცია კარგად მუშაობს.
დუბლიკატი პროექტის მენიუს ეკრანის ანაბეჭდი

ჩამოშლილი ბლოკები

ჩამოშლილი ბლოკების ფუნქცია არის კოდის ორგანიზების საშუალება, როდესაც კოდის სამუშაო სივრცე ბლოკებით ძალიან გადაიტვირთება.

თუ დააწკაპუნეთ ბლოკზე მარჯვენა ღილაკით, დაინახავთ მის ჩამოშლის ვარიანტს (Collapse Block).

თქვენი ბლოკების ხელახლა გასაფართოებლად, დააწკაპუნეთ მათზე მარჯვენა ღილაკით და აირჩიეთ ბლოკის გაფართოება (Expand Block).

ეკრანი იხსნება, ბლოკი იშლება
გაფართოებული ჩამონგრეული ბლოკი

ჩამოშლილი ბლოკები კოდს ერთ ზოლზე "შეკუმშავს".

ჩამოშლილი ბლოკები ისევ ისე მუშაობს, როგორც ჩვეულებრივი ბლოკები, უბრალოდ ნაკლებ ადგილს იკავებს. ეს ფუნქცია შეიძლება სასარგებლო იყოს მაშინ, როდესაც კონკრეტული ბლოკების რედაქტირება აღარ გჭირდებათ ან გსურთ ეკრანის გასუფთავება. 

ჩამონგრეული ბლოკი

ᲑᲚᲝᲙᲔᲑᲘᲡ ᲒᲐᲛᲝᲠᲗᲕᲐ

ასევე შესაძლებელია ბლოკების გამორთვა.

ბლოკები დარჩება ეკრანზე, მაგრამ არ იმუშავებს აპში.

გამორთული ბლოკებით, შეგიძლიათ დატესტოთ აპლიკაცია გარკვეული კოდის ბლოკების გარეშე. ისინი შეგიძლიათ მოგვიანებით ჩართოთ და მათი მუშაობაც შეამოწმოთ.

ასევე შეგიძლიათ გამორთოთ ბლოკები, რომლებსაც იყენებდით მხოლოდ ტესტირებისთვის, როგორიცაა Alerts.

გამორთული გაფრთხილების ბლოკი

მოვლენის დამმუშავებლის ბლოკიდან ბლოკების უბრალოდ გამოთრევა გამორთავს მათ და ხელს შეუშლის მათ გაშვებას. იმის გამო, რომ ისინი არ არიან რაიმე მოვლენის ნაწილი, არ არსებობს გზა, რომ ისინი ოდესმე შეასრულონ. ისინი გამოჩნდებიან ნაცრისფერი. თქვენ ყოველთვის შეგიძლიათ დააბრუნოთ ისინი ხელახლა ჩასართავად.

ᲙᲝᲛᲔᲜᲢᲐᲠᲔᲑᲘ

პროგრამისტები ხშირად ტოვებენ კომენტარებს თავიანთ კოდში მისი ფუნქციის ასახსნელად. 

კომენტარები გამოსადეგია, როდესაც სხვა ადამიანები (თანაგუნდელები, მენტორები და მოსამართლეები) უყურებენ თქვენს კოდს.

კომენტარები ასევე შეიძლება დაგვეხმაროს იმ შემთხვევაში, თუ მოგვიანებით დაუბრუნდებით კოდს, მაგრამ დაგავიწყდებათ მისი გარკვეული ნაწილების ფუნქცია.

კომენტარის დასამატებლად დააწკაპუნეთ ბლოკებზე მარჯვენა ღილაკით და აირჩიეთ „კომენტარის დამატება (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-ის მხარდაჭერით.

სტილიზებული A, AmeriCorps-ის ლოგო საზღვაო ფლოტში

კოდის გამართვის (დაბაგვის) ᲠᲩᲔᲕᲔᲑᲘ

ᲒᲐᲤᲠᲗᲮᲘᲚᲔᲑᲔᲑᲘ ᲓᲐ ᲔᲢᲘᲙᲔᲢᲔᲑᲘ

ტესტირებისას ინფორმაციის საჩვენებლად შეგიძლიათ გამოიყენოთ კომპონენტები, როგორიცაა გაფრთხილებები (Alerts) და ლეიბლები (Labels). აპის სრულად გამოცდის შემდეგ, შეგიძლიათ უბრალოდ წაშალოთ ისინი

თქვენ ამატებთ Alert-ს  ბლოკების ფანჯარაში, პალიტრაში გაფრთხილებების გვერდით + ნიშანზე დაწკაპუნებით.

კოდი გაფრთხილებისთვის

დააყენეთ Alert Message ინფორმაციაზე, რომლის თვალყურის დევნებაც გსურთ. 

შემდეგ გამოიყენეთ Alert.Show თქვენი კოდის საჩვენებლად, როდესაც რაღაც ქმედება მოხდება.

შეტყობინებების გარდა, შეგიძლიათ აჩვენოთ ინფორმაცია, როგორიცაა ცვლადის მნიშვნელობა ან Sprite-ის პოზიცია.

ასევე შეგიძლიათ დაამატოთ ლეიბლები, ეტიკეტები აპლიკაციაში მიმდინარე ინფორმაციის საჩვენებლად. 

მაგალითად, შეიძლება გსურდეთ იცოდეთ ცვლადის მნიშვნელობა, რადგან გარკვეული მოვლენები ხდება აპის გაშვებისას. 

თქვენ შეგიძლიათ დააყენოთ Label.Text იმაზე, რაც გსურთ იცოდეთ და ის გამოჩნდება თქვენს აპლიკაციაში. 

თქვენი შეცდომის გამართვის შემდეგ, შეგიძლიათ ლეიბლი უხილავი გახადოთ, ან მთლიანად წაშალოთ იგი აპიდან.

ᲒᲐᲛᲝᲘᲧᲔᲜᲔᲗ ᲢᲔᲡᲢᲘᲡ ᲛᲝᲜᲐᲪᲔᲛᲔᲑᲘ

თუ გაქვთ ბევრი ინფორმაცია აპლიკაციაში გამოსაყენებლად, შეიძლება გამოგადგეთ ტესტის მონაცემების გამოყენება. სატესტო მონაცემები არის მონაცემთა უფრო მარტივი, მცირე კომპლექტი, რომელიც გამოიყენება აპლიკაციის მუშაობის სისწორეში დასარწმუნებლად.

ვთქვათ, ქმნით აპლიკაციას, რომელიც აჩვენებს ახლომდებარე რესტორნებს. თქვენ იყენებთ Google Sheets-ს რესტორნების შესახებ ინფორმაციის შესანახად.

შეგიძლიათ დაიწყოთ მხოლოდ ერთი ან ორი სატესტო რესტორნით და შეამოწმოთ თქვენი აპლიკაცია.

მას შემდეგ რაც ის ტესტირება და იმუშავებს, შეგიძლიათ დაამატოთ რესტორნის მონაცემების სრული ნაკრები თქვენს Google Sheet-ში.

ᲗᲕᲘᲡᲔᲑᲔᲑᲘᲡ ᲨᲔᲪᲕᲚᲐ

თუ პირდაპირ ამოწმებთ თქვენს აპს, შეგიძლიათ შეცვალოთ თვისების ღირებულება დიზაინერში, სანამ აპი გაშვებული გაქვთ და შესაძლებელია მისი ეფექტების ნახვა.

ზოგჯერ ეს დაგეხმარებათ პრობლემის გამოვლენაში.

მაგალითად, თქვენ შესაძლოა თამაშს აკოდირებდეთ. Sprite-ის პოზიცია სწორად არ გეჩვენებათ თქვენს ტელეფონში მისი ტესტირებისას.

ტესტირებისას შეგიძლიათ

  1. გადახვიდეთ დიზაინერში
  2. შეცვალეთ Sprite-ის X და Y მნიშვნელობები
  3. Sprite-ის პოზიცია ეკრანზე გაშვებულ აპლიკაციაში შეიცვლება. 

გამოიყენეთ ეს თქვენს ეკრანზე კოორდინატების შესამოწმებლად.

თამაში სპრიტებთან

ᲐᲥᲢᲘᲕᲝᲑᲐ 1: ᲨᲔᲪᲓᲝᲛᲘᲡ ᲒᲐᲛᲝᲡᲬᲝᲠᲔᲑᲐ

სავარაუდო დრო: 20 წუთი

შეასწორეთ შეცდომები ტაიმერის აპლიკაციაში

ამ ტაიმერის აპლიკაციაში ტაიმერის აპლიკაცია რამდენიმე შეცდომაა.

  1. დააკოპირეთ პროექტი.
  2. გადახედეთ აპს მის გასაშვებად.
  3. Try pressing Start without typing anything into the textbox. What happens?
  4. სცადეთ შეიყვანოთ 0 ან უარყოფითი რიცხვი წამების რაოდენობისთვის. რა ხდება?
  5. შეასწორეთ შეცდომები პირობითი ბლოკების გამოყენებით!

This is one possible solution to the bug.

thunkable timer app solution blocks

ᲐᲥᲢᲘᲕᲝᲑᲐ 2: ᲙᲝᲛᲔᲜᲢᲐᲠᲘᲡ ᲓᲐᲛᲐᲢᲔᲑᲐ

სავარაუდო დრო: 10 წუთი

დაამატეთ კომენტარი თქვენს Thunkable პროექტი

თუ დაიწყეთ Technovation-ის საბოლოო აპლიკაციაზე მუშაობა, გამოიყენეთ ის აპი ამ აქტივობისთვის. წინააღმდეგ შემთხვევაში, გამოიყენეთ ტაიმერის აპი აქტივობა 1-დან.

დაამატეთ მინიმუმ ერთი კომენტარი თქვენს აპლიკაციაში, სადაც ახსნით რას აკეთებს ბლოკების ჯგუფი. შეარჩიეთ ბლოკების ჯგუფი, რომლის გაგებაც თქვენი აზრით ყველაზე რთულია, ვინაიდან ამ ბლოკების გაგება ალბათ სხვებისთვისას ყველაზე რთული იქნება.

რეფლექსია

ეს რჩევები დაგეხმარებათ Technovation-ის მობილური აპლიაკციის კოდირების პროცესში.

მაგრამ გახსოვდეთ…

ფოტო გადაღებულია DKJS Franziska Schmitt
კოდირება ადვილი არ არის.
იმის შანსები, რომ თქვენი აპი დასაწყისშივე იდეალურად არ იმუშავებს, მაღალია.
დაწერეთ კოდები პატარ-პატარა ოდენობით.
იზეიმეთ, როცა თქვენი აპის მცირე ნაწილს აამუშავებთ.
დაისვენეთ! ზოგჯერ კომპიუტერიდან რამდენიმე წუთით დაშორებამ შეიძლება მოგაწოდოთ თქვენთვის საჭირო ახალი პერსპექტივა.

ძირითადი ტერმინების  მიმოხილვა

  • კოდის გამართვა (დაბაგვა) – პროცესი, რომელსაც პროგრამისტები იყენებენ იმის გასარკვევად, თუ რატომ არ მუშაობს მათი კოდი და, შემდეგ ასწორებენ მათ
  • ვერსიის კონტროლი აპის სამუშაო ვერსიების შენახვა რაიმე პროგრესის მიღწევისას
  • სატესტო მონაცემი – მონაცემთა უფრო მარტივი კომპლექტი, რომელიც შეგიძლიათ გამოიყენოთ აპლიკაციის გამართულად მუშაობის სიზუსტეში დასარწმუნებლად.
  • კომენტარები - ტექსტი, რომელიც შედის კოდში მისი ფუნქციის ასახსნელად

ᲓᲐᲛᲐᲢᲔᲑᲘᲗᲘ ᲠᲔᲡᲣᲠᲡᲔᲑᲘ

აქ არის კიდევ რამდენიმე Thunkable რესურსების გამართვა.