Fecha actual Jue Ago 22, 2019 8:31 am

Técnica para Ejecutar Manualmente el Código Fuente

Contiene chispazos de ingenio que nos servirán para resolver problemas de una manera superior.


Usuarios leyendo este tema: Ninguno

Técnica para Ejecutar Manualmente el Código Fuente

Notapor ~ » Vie Nov 27, 2015 7:25 pm

Veo que la velocidad de ejecución de un programa a mano (es decir, leyendo el código fuente de un programa y manteniendo preferiblemente en la mente o en un papel los datos de los resultados y del flujo de la ejecución dada una entrada como una tecla presionada) es de alrededor de 1 Hertz por minuto.

Ya que sabemos que la velocidad de ejecución en la mente es tan baja, no debemos desesperarnos y simplemente debemos avanzar a ese paso hasta comprobar que el código que hemos escrito está bien, no solo libre de errores, sino que también sin ineficiencias, y cuando estemos determinando errores en el código, debemos mantener la actitud de no suponer nada sino que recalcular en tiempo real mentalmente y de detecta si los resultados que el código logra llevar a cabo, secuencialmente, realmente paso a paso, como máxima expresión de ejecución práctica en la vida real (aunque alcanzando poco más que las máquinas, periféricos y hojas de papel de flujos calculados de ejecución) de microinstrucciones humanas del lado de la informática.

Debo buscar los diferentes formatos en los que pueda expresar efectivamente la ejecución a mano de un modo que me permita realmente depurar como si estuviera siguiendo una receta mental y lógica estática, sin suponer dato alguno. Debo también tener en cuenta las partes del código o de la sintaxis que no entiendo para ver qué dependencias me hacen falta. Puedo comenzar usando una página por componente mayor para contener su estado.

Esto debería darme código más rápido y simple pero igualmente potente aunque comenzando con alta eficiencia desde sus componentes más pequeños.

Veo también que debería buscar un formato de código fuente y de sus datos que sea lo más breve y eficiente posible. Esto puede detectarse al intentar leer el código específicamente para ejecutarlo mentalmente leyendo detenidamente cada instrucción y suponiendo al mínimo o en absoluto los resultados de los datos.

Entre más fácil sea anotar, recordar y dar seguimiento a dicho código fuente y a dichos datos, entre más rápido e intuitivo (straightforward) sea crear un log de ejecución a mano, más humanizado, más eficiente y más optimizado y directo es dicho código con respecto al objetivo que tiene, línea por línea, y esto nos puede permitir mejorar el código hasta que sea lo más depurado y fácil, no solo de escribir, sino también de ejecutar en la máquina y en la mente, que es probablemente lo más importante para aprender, aunque debemos tomar en cuenta la velocidad nominal de tiempo de ejecución mental de alrededor de 0.06 Hz (1 Hertz por segundo).

Así podemos elegir el nivel de detalle de ejecución, desde lo que hemos escrito hasta lo que el programa o sistema operativo en el que estamos ejecuta para renderizar los gráficos y el entorno a usar por nuestro programa.






Para especificar directamente/literalmente la secuencia de las instrucciones (líneas de código) ejecutadas, también debemos anotar dichas instrucciones, tanto originales como resueltas (con valores finales efectivos en lugar de fórmulas e indirecciones de arreglos y punteros), como sus números de línea.

Para lograr adentrarse en la ejecución de dichas instrucciones desde un estado mental de ocio, debemos comenzar por ejecutar dicho estado de ocio hasta poco a poco, con pequeños intentos, pasar a ejecutar no lo que nos dicen en la TV u otros medios de ocio, sino lo que está en nuestro código o cualquier otro código.

Podemos usar dicha técnica para ejecutar lo que escuchamos verbalmente mientras nos estamos durmiendo y así elegir qué ejecutar hasta que nos durmamos y entremos en un canal fuertemente seleccionado o alguno que sea más sobresaliente al nivel de sueño.

Ejecutando un contexto también podemos activar más nuestra mente y aburrirnos de lo que realmente es aburrido y hacer lo que realmente es práctico e interesante para nosotros.






Con esto también podemos distinguir/redistinguir los diferentes hilos de funcionalidad que están entrelazados en un código fuente y seguir solo el que es crítico en un contexto de depuración (y también separar dichos hilos entre sí para que no interfieran sus variables y valores entre sí).

Por ejemplo, para un programa de grabación puede haber un hilo que mantiene los valores y punteros de los frames a guardar, y puede haber otro hilo que muestra el porcentaje y las Horas:Minutos:Segundos.Milisegundos totales y actuales/pendientes, así como la barra de progreso de dicha reproducción.


Pseudocódigo, Flujogramas y Ejecución Manual Desde el Principio

Podemos usar la ejecución de los programas y el dibujado de su entorno de ejecución en papel desde el inicio de la escritura del programa para asegurarnos de que tenemos las ideas claras, los microbloques funcionales y los diferentes hilos intercalados de tareas en diferentes líneas de código apropiadamente aislados aun dentro de una misma función y archivo de código fuente, y para que dicho programa sea lo más directo posible en usar las funciones existentes en el lenguaje de programación en el que lo escribamos en bloques cada vez más indirectos, para que dicho programa sea lo más optimizado posible, y sin errores o necesidad de volverlo a escribir desde cero, lo cual hará que todo sea menos tedioso, más sólido y claro desde el principio.
Imagen
IP for hosts file (email udocproject@yahoo.com to get updates if website becomes offline):
Código: Seleccionar todo
190.150.9.244 archefire.org



See what I'm doing in real time:
Main Desktop 1
Main Desktop 2
Avatar de Usuario
~
Site Admin
 
Mensajes: 2958
Registrado: Sab Nov 10, 2012 1:04 pm

Volver a Ideas y Técnicas de Programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 14 invitados


cron