En el trabajo o en la escuela, los que nos preparamos para la programación tenemos la ventaja de poder aprovechar la computadora para automatizar o mejorar lo que hacemos. Independientemente de si el trabajo en sí consiste en programar, las tareas de cualquier tipo pueden automatizarse para beneficio propio o de la organización (si es que la organización te apoya en eso, de lo contrario no desperdicies tu energía). Puedes pensar que puede haber código por todas partes, algo así como “Code here, code there, code everywhere” y bajo esta idea te damos 3 consejos para agilizar tus tareas en el trabajo o en la escuela.
Consejo 1: Excel
Un reporte de trabajo en Excel es algo que seguramente te corresponderá hacer un día y es común que la plantilla que te den para reportar no tenga ni una fórmula, pero seguro sí te pedirán cuentas sobre las horas trabajadas, por actividad, día u otros cálculos del mismo estilo. Hay plantillas que necesitan tantos detalles que, aunque en teoría es simple llenarlas y ajustarlas, resultan un trabajo tedioso que provoca que cometas errores con facilidad. Como programador te resultará rápido y fácil poner las fórmulas necesarias para tu reporte. Inclusive podrías escribir una macro en VBA para organizar los archivos en una carpeta y tener tus reportes ordenados por día, semana o mes, según tu caso particular. Un ejemplo de esos reportes que te pueden tomar mucho tiempo es uno donde te pidan redacciones como:
El avance es de 54.30% (Diferencia = -45.70% puntos, 45.70%).
En el ejemplo anterior, los datos se capturan en una hoja aparte y tienes que hacer las cuentas para escribir el reporte de avance. En casos como estos puedes establecer las fórmulas de cálculo e inclusive fórmulas que te den la redacción que te solicitan, como esta fórmula:
="El avance es de "&TEXTO(C12,"0.00%")&" (Diferencia = "&TEXTO(D12,"0.00%")&" puntos, "&TEXTO(F12,"0.00%")&")"
Resolviendo de una vez por todas el cálculo y la redacción.
Consejo 2: datos de prueba
Cuando estás desarrollando un componente o una aplicación, seguramente será necesario preparar un conjunto de datos que sirva de entrada para las pruebas. Si estás en esa situación en la que te pedirán bastante pruebas de lo mismo, ya sea porque no es estable el desarrollo o no es estable el requerimiento, armar un script para preparar la base de datos es de mucha ayuda y te permite concentrarte en lo que realmente hay que hacer. Para este consejo es necesario conozcas bien los objetivos de las pruebas o que tengas a alguien cerca que te pueda ayudar.
Para preparar el script considera estos puntos:
- Hay que incluir el borrado o la eliminación de objetos o registros que pueden haberse generado en pruebas pasadas y que puedan alterar el resultado de pruebas futuras.
- Versiona tu script. En estas situaciones es común repetir una prueba realizada anteriormente.
- Considera el efecto del avance en secuencias, números de folio e índices.
- Si tus pruebas dependen del día en que se realizan, prepara tu script para las pruebas en diferentes momentos. Esto pasa cuando tienes reglas de negocio como “reiniciar el folio de las actas cada inicio de mes”.
- Los IDE, como SQL Developer, pueden ahorrarte una gran parte del trabajo de generación de tu script.
Un ejemplo simple de este consejo es restablecer a cierto punto las actas que genera una aplicación en una base de datos Oracle. El código siguiente es para borrar las actas generadas durante las pruebas y establecer la secuencia en el valor que tenía originalmente.
DELETE * FROM ACTA_ADMINISTRATIVA WHERE ID_ACTA > 7223; COMMIT; DROP SEQUENCE "INF"."SEQ_ACTA_ADMINISTRATIVA"; CREATE SEQUENCE "INF"."SEQ_ACTA_ADMINISTRATIVA" MINVALUE 1 MAXVALUE 9999999999999999999999999999 INCREMENT BY 1 START WITH 7223 CACHE 20 NOORDER NOCYCLE ;
Consejo 3: scripting for testing
Todo programador tiene un lenguaje de programación en el que desarrolla con mayor velocidad y comodidad. Puedes aprovechar esa velocidad y comodidad para probar algoritmos o reglas inusuales. Desde lo más simple: reglas para formación de claves, clasificaciones, reglas de negocio. Hasta lo complejo: análisis estadísticos, simulaciones o aprendizaje maquinal. La idea es probar el algoritmo antes de implementarlo en donde sea requerido, sobre todo, si hay incertidumbre sobre los resultados que se van a obtener o si los cambios y correcciones son muy costosos.
Si no has probado Python, deberías darte una oportunidad de aprender ese lenguaje. Python te permite codificar y probar con mucha rapidez. Además, hay mucho soporte para Python si quieres ver resultados gráficos.
Finalmente
Para concluir esta entrada recuerda que afuera hay un gran repertorio de cosas hechas. Stackoverflow es genial para buscar soluciones pequeñas, y si buscas herramientas o novedades, no dudes en añadir opensource a tu búsqueda en Google, te dará resultados grandiosos.
Eso sí, advierto, no vayas a exagerar. Siempre mantén en primer lugar tus objetivos y fechas de entrega, pero no dudes en aprovechar las oportunidades que se te presenten.
Hasta la próxima.