Cuando hablamos de depuración, es importante entender qué podría salir mal y en qué situaciones es posible
que desee depurar su código o evitar errores, y lo más obvio que
puede salir mal es que su aplicación falla o que está recibiendo un error mensaje
de error. En desarrollo,
este es un cuadro rojo que superpone su aplicación que ya vimos antes en este curso y estos mensajes de error son,
por supuesto, una clara señal de que algo está mal con su código.
Más sutiles que eso son los errores lógicos. En sus aplicaciones, seguramente en algún momento tendrá un
comportamiento que podría no tener sentido para usted o donde algo simplemente no funciona como debería funcionar.
No obtiene un error, pero su aplicación se está portando mal, funciona de manera
incorrecta
y, por lo general, tiene algunos errores lógicos en algún lugar que están causando esto.
Y por último, pero no menos importante, tiene su interfaz de usuario, su estilo,
su diseño, la experiencia de usuario que desea crear y tal vez eso está
apagado, tal vez allí tenga algo que simplemente no se ve o se siente como debería verse o sentirse. y eso también es
algo que puede salir mal y que debes evitar. Ahora, los ejemplos típicos de mensajes de error
o causas de mensajes de error son errores de sintaxis en los que simplemente tiene un error tipográfico en su código
o donde olvidó una llave de cierre, algo así, pero también errores en su
código, por ejemplo, una línea de código donde usa un valor que en
realidad nunca establece, por lo que está tratando de calcular, por ejemplo, algo con un valor indefinido o analizar
una cadena que en realidad
no está definida, algo así, que normalmente también generaría errores. Y luego tienes un tipo especial de error y estos son
errores inevitables como me gusta llamarlos.
Ahora, eso no significa que estos son errores que no puedes evitar porque simplemente no
eres lo
suficientemente bueno como desarrollador, sino que me refiero a errores que podrían resultar de que hagas una solicitud de red y los
usuarios de tu aplicación no tengan una conexión de red o que está escribiendo en el sistema de archivos y de alguna manera
este acceso está bloqueado, por lo que no puede estar seguro de que esto nunca fallará cuando los usuarios usen su aplicación porque no puede controlar
cómo están usando su aplicación o en qué circunstancias están usando su aplicación y para tales errores, también puede encontrar
estrategias donde no puede evitar el error pero donde puede manejarlo. Ahora, para los errores lógicos, un ejemplo típico sería
que tiene un comportamiento de aplicación no deseado o inesperado y, por supuesto, desea deshacerse de eso, que tiene
un comportamiento de usuario inesperado o no controlado para que los usuarios usen su aplicación de una manera que usted no
tenía la intención de que lo usaran, por lo que
al probar su aplicación durante el desarrollo, desea ser realmente creativo y descubrir si los
usuarios pueden ingresar a lugares donde pueden continuar o donde su aplicación no funciona correctamente, de modo que tal vez los usuarios siguieron
una determinada secuencia de pasos que conduce a un error, a un error lógico, tal vez falta
alguna entrada en algún momento y no está verificando que esta entrada se configure y, por lo tanto, con eso
no se puede configurar, puede causar otro problema o entrar en otro error,
entonces algo así.
Ahora, por último, pero menos importante, si hablamos sobre el estilo, el diseño, obviamente podemos tener un estilo inesperado
o incorrecto, por lo que estamos probando la aplicación y vemos que no se ve como
debería o tal vez solo tenemos resultados inconsistentes en diferentes dispositivos,
tal vez nuestra aplicación se ve bien en iOS pero no en Android o por último, pero no menos importante, tal vez tenemos
un diseño que simplemente no funciona o se siente bien en ciertos dispositivos u orientaciones.
Tal vez nuestro contenido no se ajuste a la pantalla en dispositivos muy pequeños,
estas son todas las cosas que también queremos descartar. Ahora eso es lo que puedes
depurar, ¿cómo se depura? ¿Qué herramientas obtienes para depurar tus errores?
Ahora la herramienta más obvia que está obteniendo y, sin embargo, la herramienta que mucha gente pasa por alto o simplemente no mira
son los mensajes de error,
lea seriamente los mensajes de error que está recibiendo.
Lo he visto con tanta frecuencia en mis cursos que los estudiantes reciben algún error y simplemente van. Oh, Dios, recibí un error, una captura
de pantalla o una copia y lo pego en la sección de preguntas y respuestas y, a veces, los errores pueden ser muy difíciles
de depurar o entender o necesita algo de experiencia para descubrir qué salió mal exactamente, pero para ser sincero, a
menudo los mensajes de error son muy claros con respecto a lo que salió mal o incluso contienen una solución sobre cómo
puede solucionar el error.
Y por último, pero no menos importante, simplemente tomar un mensaje de error y buscarlo en Google también a menudo te lleva muy lejos
porque es probable que no seas el primero en recibirlo.
Ahora supongamos que no recibe un mensaje de error, pero su aplicación no se está comportando correctamente en algún
lugar o no está seguro de si algún valor está configurado correctamente en alguna parte de su código.
Una manera muy fácil de ver su código, de tener una idea de los valores con los que está trabajando
en el código es usar un buen registro de consola antiguo. Ahora la depuración del registro de la consola no tiene la mejor
reputación y, de hecho, no es tan bueno si está depurando un problema muy complejo,
sino simplemente tener una idea del flujo de su código o de algunos de los valores con los que está trabajando , es
genial.
Simplemente puede volcarlo en su código y luego averiguar qué valor está utilizando en ese momento o cómo
se comporta algo en una situación determinada o si algo se está ejecutando y, por
lo tanto, esto definitivamente es algo que también debe hacer.
Ahora, para problemas más complejos o si realmente desea recorrer su código paso a paso, usar el depurador de Chrome
y los puntos de interrupción es una gran herramienta y es compatible con React Native, tanto cuando
usa expo como cuando está No usar expo. Allí realmente puede sumergirse profundamente en su código y
tener una idea de cómo funciona y revisarlo paso a paso y mirar su código mientras se
ejecuta.
Así que echemos un vistazo a estas cosas ahora.