1 00:00:02,470 --> 00:00:08,350 Quando falamos de depuração, é importante entender o que poderia dar errado e em quais situações você 2 00:00:08,350 --> 00:00:13,150 pode querer depurar seu código ou evitar erros, e a coisa mais óbvia que 3 00:00:13,150 --> 00:00:18,700 pode dar errado é que seu aplicativo falha ou que você está recebendo um erro. mensagem 4 00:00:18,700 --> 00:00:20,760 de erro. Em desenvolvimento, 5 00:00:20,770 --> 00:00:28,120 essa é a caixa vermelha que sobrepõe seu aplicativo, que já vimos anteriormente neste curso, e essas mensagens de erro são, 6 00:00:28,120 --> 00:00:32,330 obviamente, um sinal claro de que algo está errado com seu código. 7 00:00:32,650 --> 00:00:40,060 Mais sutis que isso são erros lógicos. Em seus aplicativos, você certamente terá, em algum momento, um comportamento 8 00:00:40,480 --> 00:00:46,540 que pode não fazer sentido para você ou em que algo simplesmente não funciona da maneira que deveria funcionar. 9 00:00:46,570 --> 00:00:51,830 Você não está recebendo um erro, mas seu aplicativo está se comportando mal, está 10 00:00:51,910 --> 00:00:52,680 funcionando 11 00:00:52,750 --> 00:00:58,370 incorretamente e, normalmente, você tem alguns erros lógicos em algum lugar que estão causando isso. 12 00:00:58,370 --> 00:01:02,470 E por último, mas não menos importante, você tem sua interface de usuário, seu 13 00:01:02,470 --> 00:01:06,470 estilo, seu layout, a experiência do usuário que você deseja criar e talvez 14 00:01:06,490 --> 00:01:13,270 esteja desativado, talvez você tenha algo que simplesmente não pareça ou sinta a aparência ou a aparência e isso também é algo que 15 00:01:13,270 --> 00:01:19,000 pode dar errado e que você quer evitar. Agora exemplos típicos para mensagens de erro 16 00:01:19,000 --> 00:01:26,830 ou causas de mensagens de erro são erros de sintaxe onde você simplesmente tem um erro de digitação no seu código 17 00:01:26,830 --> 00:01:32,140 ou onde você esqueceu uma chave de fechamento, algo assim, mas também erros no 18 00:01:32,140 --> 00:01:37,000 seu código, por exemplo, uma linha de código onde você usa um valor 19 00:01:37,000 --> 00:01:43,990 que você nunca definiu, então você está tentando, por exemplo, calcular algo com um valor indefinido ou analisar 20 00:01:43,990 --> 00:01:46,290 uma string que é realmente 21 00:01:46,420 --> 00:01:54,030 indefinida, qualquer coisa assim, que normalmente também levaria a erros. E então você tem um tipo especial de erro e estes são 22 00:01:54,060 --> 00:01:56,490 erros inevitáveis, como eu gosto de chamá-los. 23 00:01:56,520 --> 00:02:01,230 Agora, isso não significa que esses erros não podem ser evitados, porque você não é bom 24 00:02:01,230 --> 00:02:02,190 o suficiente 25 00:02:02,250 --> 00:02:08,760 como desenvolvedor, mas sim erros que podem resultar de uma solicitação de rede e de os usuários do seu aplicativo não terem 26 00:02:08,790 --> 00:02:15,570 uma conexão de rede. ou que você está escrevendo para o sistema de arquivos e, de alguma forma, esse acesso está bloqueado, por isso 27 00:02:15,570 --> 00:02:23,430 não pode ter certeza de que isso nunca falhará quando os usuários usarem seu aplicativo porque você não pode controlar como eles estão usando seu aplicativo ou 28 00:02:23,640 --> 00:02:29,580 em quais circunstâncias eles estão usando seu aplicativo e, para esses erros, você também pode encontrar estratégias nas quais não é 29 00:02:29,580 --> 00:02:36,030 possível evitar o erro, mas onde é possível lidar com ele. Agora, para erros lógicos, um exemplo típico seria 30 00:02:36,040 --> 00:02:42,270 que você tem algum comportamento de aplicativo indesejado ou inesperado e, é claro, deseja se livrar disso, 31 00:02:42,270 --> 00:02:49,230 de ter algum comportamento inesperado ou não manipulado do usuário para que os usuários o usem de uma maneira 32 00:02:49,230 --> 00:02:52,470 não pretendia que eles fossem usados, por isso, 33 00:02:52,470 --> 00:02:57,480 ao testar seu aplicativo durante o desenvolvimento, você quer ser realmente criativo e 34 00:02:57,480 --> 00:03:05,190 descobrir se os usuários poderiam entrar em locais onde eles podem prosseguir ou onde o aplicativo não está funcionando corretamente. uma 35 00:03:05,190 --> 00:03:11,100 certa seqüência de etapas que leva a um erro, a um erro lógico, talvez alguma entrada 36 00:03:11,100 --> 00:03:17,850 esteja ausente em algum momento e você não esteja verificando se essa entrada está configurada e, portanto, com 37 00:03:18,120 --> 00:03:22,740 isso não definido, você pode causar outro problema ou entrar em outro 38 00:03:22,770 --> 00:03:24,200 erro, algo assim. 39 00:03:24,300 --> 00:03:29,790 Agora, por último, mas não menos, se falarmos sobre o estilo, o layout, obviamente, podemos ter um estilo 40 00:03:29,790 --> 00:03:34,340 inesperado ou errado, por isso estamos testando o aplicativo e vemos que ele não 41 00:03:34,470 --> 00:03:38,220 parece como deveria ou talvez tenhamos resultados inconsistentes dispositivos diferentes, talvez 42 00:03:38,220 --> 00:03:44,790 o nosso app pareça bom no iOS, mas não no Android ou por último, mas não menos importante, talvez tenhamos um 43 00:03:44,790 --> 00:03:49,220 layout que simplesmente não funciona ou não se encaixa em certos dispositivos ou orientações. 44 00:03:49,260 --> 00:03:53,370 Talvez o nosso conteúdo não caiba na tela em dispositivos muito pequenos, essas 45 00:03:53,400 --> 00:03:58,750 são todas as coisas que também queremos excluir. Agora é isso que você pode 46 00:03:58,770 --> 00:04:03,460 depurar, como você depura? Quais ferramentas você obtém para depurar seus erros? 47 00:04:03,600 --> 00:04:11,880 Agora a ferramenta mais óbvia que você está recebendo e ainda a ferramenta que muitas pessoas esquecem ou simplesmente não olham para todas são 48 00:04:11,880 --> 00:04:14,070 as mensagens de erro, leia 49 00:04:14,070 --> 00:04:17,100 seriamente as mensagens de erro que você está recebendo. 50 00:04:17,130 --> 00:04:24,850 Eu tenho visto isso com tanta freqüência em meus cursos que os alunos recebem algum erro e simplesmente vão Oh Deus, eu recebo um erro, 51 00:04:25,170 --> 00:04:32,760 captura de tela ou copio e colo na seção de Q & A e às vezes, erros podem ser muito difíceis de depurar ou 52 00:04:32,760 --> 00:04:39,180 entender ou você precisa de alguma experiência para descobrir o que exatamente deu errado, mas para ser muito honesto, muitas 53 00:04:39,600 --> 00:04:46,530 vezes as mensagens de erro são realmente claras sobre o que deu errado ou até mesmo contêm uma solução sobre como você 54 00:04:46,530 --> 00:04:48,120 pode corrigir o erro. 55 00:04:48,210 --> 00:04:54,090 E, por último, mas não menos importante, simplesmente pegar mensagens de erro e pesquisá-las também o leva muito longe, porque é 56 00:04:54,090 --> 00:04:56,790 provável que você não seja o primeiro a conseguir. 57 00:04:57,970 --> 00:05:03,850 Agora digamos que você não está recebendo uma mensagem de erro, mas seu aplicativo não está se comportando corretamente em 58 00:05:03,880 --> 00:05:09,670 algum ponto ou você não tem certeza se algum valor está definido corretamente em alguma parte do seu código. 59 00:05:09,880 --> 00:05:15,370 Uma maneira muito fácil de analisar seu código, de ter uma ideia dos valores com os quais você está 60 00:05:15,370 --> 00:05:22,150 trabalhando no código é usar um bom log de console antigo. Agora, a depuração de log do console não tem a melhor reputação 61 00:05:22,150 --> 00:05:26,090 e, na verdade, não é tão boa se você estiver depurando um problema muito complexo, 62 00:05:26,260 --> 00:05:32,470 mas simplesmente para ter uma ideia do fluxo do seu código ou de alguns dos valores com os quais está trabalhando , é 63 00:05:32,470 --> 00:05:32,950 ótimo. 64 00:05:32,950 --> 00:05:38,860 Você pode simplesmente despejá-lo em seu código e, em seguida, descobrir qual valor você está usando em que ponto ou 65 00:05:38,860 --> 00:05:43,840 como algo se comporta em uma determinada situação ou se algo está sendo executado em tudo e, 66 00:05:43,900 --> 00:05:47,260 portanto, isso é definitivamente algo que você também deve fazer. 67 00:05:47,260 --> 00:05:53,830 Agora, para problemas mais complexos ou se você realmente quiser analisar seu código passo a passo, usar o depurador e os 68 00:05:53,830 --> 00:05:59,610 pontos de interrupção do Chrome é uma ótima ferramenta e é compatível com o React Native, tanto quando você 69 00:05:59,620 --> 00:06:05,860 está usando expo ou quando está não usando expo. Lá você pode realmente mergulhar fundo no seu código e 70 00:06:05,860 --> 00:06:11,740 ter uma ideia de como ele funciona e percorrê-lo passo a passo e verificar seu código enquanto ele é 71 00:06:11,740 --> 00:06:12,350 executado. 72 00:06:13,090 --> 00:06:15,760 Então, vamos dar uma olhada nessas coisas agora.