miércoles, 29 de agosto de 2012

Características de un buen programa

Dice López que un buen programa debe tener ciertas características básicas que le permitan operar correctamente:

Operatividad. Lo mínimo que debe hacer un programa es funcionar; es decir, producir los resultados esperados independientemente de cualquier otra característica.

Bueno, yo diría que esta es la condición de que sea un programa o no. Si no funciona pues sencillamente no es un programa porque no ejecuta la tarea requerida. Estaríamos sólo ante la presencia de código.

Ahora bien, el autor dice que hay otras características que al programa le permitirán operar correctamente pero yo pienso que si funciona es porque opera correctamente. Las siguientes características permiten hacer algo con el programa pero no hacen que el programa sea funcional o no.

Legibilidad. Un programa puede hacerse más legible dándole cierto formato al código, utilizando el sangrado (indentación) para reflejar las estructuras de control del programa, e insertando espacios o tabuladores.

Transportabilidad. Un programa transportable es el que puede ejecutarse en otro entorno sin hacerle modificaciones importantes.

Si el programa fue requerido para poder trabajar en varios entornos y sólo funciona en algunos o en uno entonces esta característica sí se debe tomar en cuenta para medir si el programa trabaja correctamente o no. Si sólo se requiere que trabaje en ciertos entornos y lo hace no veo la razón de que sea problema y podamos utilizar prestaciones de hardware o software especiales del entorno en nuestro favor. Estoy de acuerdo sólo parcialmente con lo que dice el autor.

Claridad. Esta característica se refiere a la facilidad con la que el texto del programa comunica las ideas subyacentes.

Modularidad. Dividir el programa en un número de módulos pequeños y fáciles de comprender puede ser la contribución más importante a la calidad del mismo. Cada módulo debe realizar sólo una tarea específica y no más. Los módulos tienen la virtud de minimizar la cantidad de código que el programador debe comprender a la vez, además de que permiten la reutilización de código.

El último punto se me hace de suma importancia y no todos los programadores lo hacen a veces a propósito a veces involuntariamente. No es raro encontrar textos donde mencionan que a veces es mejor contratar a un programador para  empezar un nuevo programa de cero que contratarlo para que haga modificaciones a un programa previamente existente pues el trabajar sobre código escrito por otro no es tarea fácil. Bueno, ya lo comprobaré. Como siempre les digo, compren el libro, están tocados estos temas con mucho más profundidad.

No hay comentarios:

Publicar un comentario