1 00:00:02,470 --> 00:00:08,350 Kiedy mówimy o debugowaniu, ważne jest, aby zrozumieć, co może pójść nie tak i 2 00:00:08,350 --> 00:00:13,150 w jakich sytuacjach możesz chcieć debugować kod lub uniknąć błędów, a 3 00:00:13,150 --> 00:00:18,700 najbardziej oczywistą rzeczą, która może pójść nie tak, jest awaria aplikacji lub otrzymywanie Komunikat 4 00:00:18,700 --> 00:00:20,760 o błędzie. W fazie 5 00:00:20,770 --> 00:00:28,120 rozwoju jest to czerwone pole, które nakłada się na Twoją aplikację, co widzieliśmy już wcześniej w tym kursie, a te komunikaty o 6 00:00:28,120 --> 00:00:32,330 błędach są oczywiście wyraźnym znakiem, że coś jest nie tak z twoim kodem. 7 00:00:32,650 --> 00:00:40,060 Bardziej subtelne są błędy logiczne. W aplikacjach na pewno w pewnym momencie będziesz mieć 8 00:00:40,480 --> 00:00:46,540 pewne zachowanie, które może nie mieć sensu lub gdy coś po prostu nie działa tak, jak powinno. 9 00:00:46,570 --> 00:00:51,830 Nie pojawia się błąd, ale aplikacja działa nieprawidłowo, 10 00:00:51,910 --> 00:00:52,680 działa 11 00:00:52,750 --> 00:00:58,370 niepoprawnie i zazwyczaj występują pewne błędy logiczne, które to powodują. 12 00:00:58,370 --> 00:01:02,470 I na koniec, masz interfejs użytkownika, styl, układ, wrażenia użytkownika, które 13 00:01:02,470 --> 00:01:06,470 chcesz stworzyć, a może to jest wyłączone, może masz coś, 14 00:01:06,490 --> 00:01:13,270 co po prostu nie wygląda lub nie wygląda tak, jak powinno. i jest to również coś, co może 15 00:01:13,270 --> 00:01:19,000 pójść nie tak i którego należy unikać. Obecnie typowymi przykładami komunikatów o błędach lub 16 00:01:19,000 --> 00:01:26,830 przyczynach komunikatów o błędach są błędy składniowe, w których po prostu masz literówkę w kodzie lub zapomniałeś nawiasów 17 00:01:26,830 --> 00:01:32,140 klamrowych zamykających, coś w tym rodzaju, ale także po prostu błędy w 18 00:01:32,140 --> 00:01:37,000 kodzie, na przykład wiersz kodu gdzie używasz wartości, której tak naprawdę 19 00:01:37,000 --> 00:01:43,990 nigdy nie ustawiłeś, więc próbujesz na przykład obliczyć coś o nieokreślonej wartości lub parsować ciąg, który 20 00:01:43,990 --> 00:01:46,290 jest faktycznie niezdefiniowany, coś 21 00:01:46,420 --> 00:01:54,030 w tym rodzaju, co zwykle prowadzi również do błędów. A potem masz specjalny rodzaj błędu i są to błędy 22 00:01:54,060 --> 00:01:56,490 nieuniknione, jak lubię je nazywać. 23 00:01:56,520 --> 00:02:01,230 To nie znaczy, że są to błędy, których nie można uniknąć, ponieważ po prostu 24 00:02:01,230 --> 00:02:02,190 nie jesteś 25 00:02:02,250 --> 00:02:08,760 wystarczająco dobry jako programista, zamiast tego mam na myśli błędy, które mogą wynikać z Twojego żądania sieci i użytkownicy 26 00:02:08,790 --> 00:02:15,570 aplikacji nie mają połączenia sieciowego lub że piszesz do systemu plików i jakoś ten dostęp jest zablokowany, więc nie możesz mieć 27 00:02:15,570 --> 00:02:23,430 pewności, że nigdy nie zawiedzie, gdy użytkownicy korzystają z Twojej aplikacji, ponieważ nie możesz kontrolować, w jaki sposób korzystają z Twojej aplikacji lub w 28 00:02:23,640 --> 00:02:29,580 jakich okolicznościach używają Twojej aplikacji i w przypadku takich błędów możesz także znaleźć strategie, w których nie można 29 00:02:29,580 --> 00:02:36,030 uniknąć błędu, ale gdzie można sobie z tym poradzić. W przypadku błędów logicznych typowym przykładem może 30 00:02:36,040 --> 00:02:42,270 być niepożądane lub nieoczekiwane zachowanie aplikacji i oczywiście chcesz się ich pozbyć, a także nieoczekiwanego 31 00:02:42,270 --> 00:02:49,230 lub nieobsługiwanego zachowania użytkownika, aby użytkownicy korzystali z Twojej aplikacji w sposób nie zamierzali ich używać, 32 00:02:49,230 --> 00:02:52,470 więc podczas testowania aplikacji podczas programowania chcesz 33 00:02:52,470 --> 00:02:57,480 być naprawdę kreatywny i dowiedzieć się, czy użytkownicy mogą dostać się 34 00:02:57,480 --> 00:03:05,190 do miejsc, w których mogą kontynuować lub w których aplikacja nie działa poprawnie, aby być może użytkownicy śledzili 35 00:03:05,190 --> 00:03:11,100 pewna sekwencja kroków, która prowadzi do błędu, do błędu logicznego, może w pewnym momencie 36 00:03:11,100 --> 00:03:17,850 brakuje niektórych danych wejściowych i nie sprawdzasz, czy dane wejściowe zostały ustawione, a zatem przy braku 37 00:03:18,120 --> 00:03:22,740 tego ustawienia, możesz spowodować inny problem lub popełniłem kolejny błąd, 38 00:03:22,770 --> 00:03:24,200 więc coś takiego. 39 00:03:24,300 --> 00:03:29,790 Na koniec, jeśli mówimy o stylizacji, układzie, oczywiście możemy mieć nieoczekiwany lub niewłaściwy styl, więc 40 00:03:29,790 --> 00:03:34,340 testujemy aplikację i widzimy, że nie wygląda to tak, jak powinno, a może 41 00:03:34,470 --> 00:03:38,220 po prostu mamy niespójne wyniki na na różnych urządzeniach, 42 00:03:38,220 --> 00:03:44,790 być może nasza aplikacja wygląda dobrze na iOS, ale nie na Androida lub wreszcie, może mamy układ, który po 43 00:03:44,790 --> 00:03:49,220 prostu nie działa lub nie działa poprawnie na niektórych urządzeniach lub orientacjach. 44 00:03:49,260 --> 00:03:53,370 Być może nasze treści nie mieszczą się na ekranie na bardzo małych 45 00:03:53,400 --> 00:03:58,750 urządzeniach, to wszystko, co również chcemy wykluczyć. Teraz to możesz debugować, 46 00:03:58,770 --> 00:04:03,460 jak debugujesz? Jakie masz narzędzia do debugowania błędów? 47 00:04:03,600 --> 00:04:11,880 Teraz najbardziej oczywistym narzędziem, które dostajesz, a jednak narzędziem, które wielu ludzi przeoczy lub po prostu w ogóle nie patrzy, 48 00:04:11,880 --> 00:04:14,070 są komunikaty o błędach, 49 00:04:14,070 --> 00:04:17,100 poważnie przeczytaj komunikaty o błędach, które otrzymujesz. 50 00:04:17,130 --> 00:04:24,850 Widziałem to tak często na moich kursach, że studenci dostają jakiś błąd i po prostu idą Och, mam błąd, 51 00:04:25,170 --> 00:04:32,760 zrzut ekranu lub skopiuj i wklej go w sekcji Pytania i odpowiedzi, a czasami błędy mogą być bardzo trudne 52 00:04:32,760 --> 00:04:39,180 do debugowania lub zrozumienia lub potrzebujesz doświadczenia, aby dowiedzieć się, co dokładnie poszło nie tak, ale 53 00:04:39,600 --> 00:04:46,530 szczerze mówiąc, często komunikaty o błędach są naprawdę jasne, co poszło źle, lub nawet zawierają rozwiązanie dotyczące 54 00:04:46,530 --> 00:04:48,120 sposobu naprawienia błędu. 55 00:04:48,210 --> 00:04:54,090 I na koniec, po prostu biorąc komunikat o błędzie i googlując go, często prowadzisz bardzo daleko, ponieważ są 56 00:04:54,090 --> 00:04:56,790 szanse, że nie jesteś pierwszym, który go dostanie. 57 00:04:57,970 --> 00:05:03,850 Załóżmy teraz, że nie wyświetla się komunikat o błędzie, ale aplikacja nie działa poprawnie w pewnym 58 00:05:03,880 --> 00:05:09,670 miejscu lub nie masz pewności, czy jakaś wartość jest ustawiona poprawnie w jakiejś części kodu. 59 00:05:09,880 --> 00:05:15,370 Bardzo łatwym sposobem na sprawdzenie swojego kodu i sprawdzenie wartości, z którymi pracujesz 60 00:05:15,370 --> 00:05:22,150 w kodzie, jest użycie starego, dobrego dziennika konsoli. Teraz debugowanie dziennika konsoli nie ma najlepszej reputacji 61 00:05:22,150 --> 00:05:26,090 i rzeczywiście nie jest tak świetne, jeśli debugujesz bardzo skomplikowany 62 00:05:26,260 --> 00:05:32,470 problem, ale po prostu wpadniesz na pomysł przepływu kodu lub niektórych wartości, z którymi pracujesz , 63 00:05:32,470 --> 00:05:32,950 wspaniale. 64 00:05:32,950 --> 00:05:38,860 Możesz po prostu zrzucić go do swojego kodu, a następnie dowiedzieć się, jakiej wartości używasz, w którym momencie 65 00:05:38,860 --> 00:05:43,840 lub jak coś się zachowuje w określonej sytuacji lub czy coś w ogóle się wykonuje, 66 00:05:43,900 --> 00:05:47,260 a zatem zdecydowanie jest to coś, co powinieneś również zrobić. 67 00:05:47,260 --> 00:05:53,830 Teraz w przypadku bardziej skomplikowanych problemów lub jeśli naprawdę chcesz krok po kroku krok po kroku, korzystanie z debugera 68 00:05:53,830 --> 00:05:59,610 Chrome i punktów przerwania jest doskonałym narzędziem i jest obsługiwane przez React Native, zarówno podczas korzystania 69 00:05:59,620 --> 00:06:05,860 z expo, jak i nie korzystam z expo. Tam możesz naprawdę zanurzyć się głęboko w kodzie i 70 00:06:05,860 --> 00:06:11,740 poczuć, jak on działa, i przejść go krok po kroku i zaglądać do kodu podczas jego 71 00:06:11,740 --> 00:06:12,350 wykonywania. 72 00:06:13,090 --> 00:06:15,760 Spójrzmy teraz na te rzeczy.