Este proyecto fue creado para ilustrar el uso de macros desarrolladas con VBA para Excel que se pueden utilizar para automatizar la recopilación y visualización de datos de un grupo selecto de reservas de energía verde. Esto se usó para mostrar la capacidad de usar macros y cómo podrían automatizarse usando interfaces gráficas como botones para permitir el uso repetible de la tarea. Para este proyecto se utilizaron datos bursátiles de 12 acciones recopilados en 2017 y 2018. Los datos utilizados incluyeron el código de cotización, los valores de apertura y cierre de las acciones y el volumen de negociación diario para cada día. A partir de esto podríamos determinar el primer y el último precio de las acciones y el volumen total de negociación de cada acción que se analiza.
Otro objetivo de este proyecto era buscar cómo mejorar la eficiencia del código mediante la refactorización para optimizar la potencia informática necesaria para completar las macros. Para esto utilizamos nuestra versión inicial del código, que era funcional pero requería que el programa completara una iteración de todo el conjunto de datos para cada cotización bursátil que buscábamos analizar. El objetivo era desarrollar una versión refactorizada del código original que requería que el programa solo completara la iteración del conjunto de datos y obtuviera los mismos datos que la primera versión.
Para comenzar, desarrollamos un código funcional que permitió recopilar el volumen total anual de acciones y el desempeño año tras año de cada acción que buscábamos analizar. Como se ve en el código que proporcionamos a continuación, los datos se recopilaron para cada acción completando una iteración del conjunto de datos e insertando los datos en la hoja de cálculo de Excel antes de pasar a la siguiente acción.
Incrustado en el código había un temporizador que mostraría el tiempo que tardó en ejecutarse el programa y mostraría los resultados. Con esto, podemos comparar el tiempo necesario para completar el código inicial para recopilar los datos de los conjuntos de datos de cada año. Esto nos proporcionó un tiempo de ejecución del código para cada año, como se ve en las imágenes a continuación. Muestra que el código inicial tardó 0,6289062 segundos en completar el conjunto de datos de 2017 y 0,6171875 en completar el conjunto de datos de 2018.
Mediante la refactorización del código de trabajo original, se puede lograr un uso más eficiente de la informática reduciendo el número de iteraciones totales del conjunto de datos, lo que da como resultado un aumento en la velocidad de ejecución de la tarea. Para refactorizar este código, era necesario agregar dos componentes a la macro que se estaba desarrollando. El primero era un índice para cada ticker que se repetiría para cada línea de datos en los conjuntos de datos que se analizaban. De esta manera, para cada línea de datos dentro del conjunto de datos, el programa identificaría qué ticker estaba presente y almacenaría los datos relevantes relacionados con el valor del índice. El segundo era una colección de matrices de datos para almacenar múltiples puntos de datos para cada cotización bursátil. Como cada valor guardado en la matriz se podía recuperar según el orden en que se recopilaron, era posible vincular estos datos al índice de teletipo utilizado. El uso de estas dos herramientas permitió la refactorización del código como se ve en el siguiente ejemplo.
Utilizando el mismo código utilizado para determinar el tiempo de ejecución del código inicial se pudo ver si hubo alguna mejora en el tiempo de ejecución observada en el código refactorizado para el análisis. Como se ve en las imágenes a continuación, el tiempo que tomó completar el análisis de los datos de 2017 y 2018 se comparó utilizando el nuevo código y esto se usó para comparar con el código inicial utilizado. De esto pudimos ver que tomó 0,5273438 segundos completar el conjunto de datos de 2017 y 0,516825 segundos para completar el conjunto de datos de 2018.
A partir de la información recopilada en función del tiempo para completar la ejecución del código inicial y refactorizado, hubo una reducción de 0,1015624 segundos para el conjunto de datos de 2017 y de 0,1103625 segundos para el conjunto de datos de 2018.
El proceso de refactorización de código tiene algunas ventajas y desventajas para su uso. Primero veamos algunas de las ventajas.
Algunas de las desventajas del uso de refactorización de código.
En el ejemplo que mostramos aquí, hubo algunos pros y contras de la refactorización que se completó para mejorar la eficiencia del código.
Algunos de los pensamientos positivos que fueron el resultado del cambio de código son los siguientes:
Se redujo el tiempo utilizado para completar el análisis al reducir el número de iteraciones completadas para recopilar los datos.
Dio como resultado un código más sólido que se puede expandir fácilmente a conjuntos de datos más grandes y más criterios de búsqueda.
Se utilizaron matrices para almacenar datos que se pueden usar para otros cálculos o análisis si se necesitara un análisis más profundo de los datos.
Algunos de los factores negativos para el uso de la refactorización en este código incluyen los siguientes
https://www.c-sharpcorner.com/article/pros-and-cons-of-code-refactoring/" ↩ ↩ 2