CursosOnlineEnDirecto-Benowu

Aprende a Depurar

Aprende a Depurar

La depuración es la piedra angular de ser un programador. El primer significado del verbo depurar es remover errores, pero el significado que realmente interesa es ver a lo interno de la ejecución de un programa mediante su examen. Un programador que no puede depurar efectivamente está ciego.

Los idealistas que piensan que el diseño, el análisis, o la teoría de la complejidad, o lo que no es, son más fundamentales no son programadores activos. El programador activo no vive en un mundo ideal. Incluso si eres perfecto, estás rodeado por y debes
interactuar con código escrito por grandes compañías de software, organizaciones como GNU, y tus colegas. La mayoría de este código es imperfecto e imperfectamente documentado. Sin la capacidad de ganar visibilidad dentro de la ejecución de este código el más ligero golpe te tirará permanentemente. A menudo esta visibilidad puede ganarse solamente mediante la experimentación, es decir, la depuración.

La depuración trata de la ejecución de programas, no de los programas mismos. Si compras algo de una compañía de software grande, usualmente no consigues ver el programa. Pero inclusive ahí aparecerán lugares donde el código no se ajuste a la
documentación (el aterrizaje de toda tu máquina es un ejemplo común y espectacular), o donde la documentación es muda. Por lo general, creas un error, examinas el código que escribiste y no tienes una pista de cómo puede estar ocurriendo el error.

Inevitablemente, esto significa que alguna suposición que estás haciendo no es muy correcta, o que surge alguna condición que no anticipaste. Algunas veces el truco mágico de ver detenidamente el código fuente funciona. Cuando no, debes depurar.

Para conseguir visibilidad dentro de la ejecución de un programa debes ser capaz de ejecutar el código y observar algo acerca de él. Algunas veces esto es visible, como lo que se muestra en una pantalla, o el retardo entre dos eventos. En muchos otros casos, involucra cosas que no necesariamente deban estar visibles, como el estado de algunas variables dentro del código, cuáles líneas de código están siendo actualmente ejecutadas, o si ciertas afirmaciones se mantienen a través de una estructura de datos complicada. Esas cosas ocultas deben ser reveladas.

Las formas comunes de ver dentro de las 'entrañas' de un programa en ejecución pueden ser categorizadas como:
- Usar una herramienta de depuración,
- Printlining - – Hacer una modificación temporal al programa, típicamente adicionando líneas que impriman información, y
- Logging - – Crear una ventana permanente en la ejecución de los programas en la forma de una bitácora.

Las herramientas de depuración son maravillosas cuando son estables y están disponibles, pero el printlining y el logging son aún más importantes. Las herramientas de depuración a menudo se retrasan detrás del lenguaje de desarrollo, de tal manera que en cualquier punto del tiempo pueden no estar disponibles.

Además, debido a que la herramienta de depuración puede cambiar sutilmente la forma en que se ejecuta el programa puede no ser siempre práctica. Finalmente, hay algunos tipos de depuración, tal como el chequeo de una afirmación frente a una gran
estructura de datos, que requiere escribir código y cambiar la ejecución del programa.

Es bueno saber cómo usar las herramientas de depuración cuando son estables, pero es crítico ser capaz de emplear los otros dos métodos.

Algunos principiantes temen depurar cuando ello requiere modificar código. Esto es comprensible---es un poquito similar a la cirugía exploratoria. Pero tú tienes que aprender a hurgar en el código y hacerlo saltar; tienes que aprender a experimentar
en él, y comprender que nada que le hagas temporalmente lo empeorará. Si sientes este temor, busca un mentor---perdemos un montón de buenos programadores en la delicada iniciación de su aprendizaje debido a este temor.

 

Fuente:

Cómo Ser Un Programador: Un Resumen Corto, Comprensivo y Personal
por Robert L. Read

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Subir

Canal de aprender-libre.com

Reciba todas las publicaciones desde nuestro canal en Telegram

UNIRSE
CERRAR