Estilo de programación

 

Trataremos de dar unas breves indicaciones acerca de cuál es la forma más correcta de programar. Qué aspecto dar al código fuente para que sea más legible y elegante, cómo distribuir el código fuente,  etc

 

Aspecto del código

Obsérvese el siguiente código:

DIM cadena AS STRING, i AS INTEGER
PRINT "Introduce una cadena:"; : INPUT "", cadena$:
FOR i%=1 TO LEN(cadena)
PRINT MID$(cadena, i%, 1)
NEXT i%
END

Ahora compárese con este otro:

' Muestra uno a uno los caracteres de una cadena
	DIM cadena AS STRING, i AS INTEGERR

	PRINT "Introduce una cadena:";
	INPUT "", cadena

	FOR i=1 TO LEN(cadena)
		PRINT MID$(cadena, i, 1)
	NEXT i
END

Parece claro que la segunda es más conveniente. Desde luego no es la única forma, ni la más correcta; es, simplemente, un estilo. Cada uno tiene su estilo personal, aunque conviene que tampoco sea 'muy personal', si es para compartirlo. El tabular la escritura del código lo hace más legible y fácil de mantener.

Volver al principio de página

 

Los comentarios

El código fuente debe estar bien documentado, de tal forma que si se lo pasamos a otra persona pueda entenderlo sin grandes dificultades. Quizá se piense: "mi código es mío y nunca se lo voy a dejar a nadie, así que para que voy a comentarlo". Parece lógico, pero imagínese que se abandona temporalmente y en el futuro se quiere retocar el programa. Es muy probable el olvido de por qué se hizo tal o cual cosa, (pasa muy a menudo) y es preciso gastar un montón de tiempo descifrando algo que en su día estaba entendido perfectamente.

Aquí está un ejemplo de un programa mal comentado:

' Empiezo el programa

	DIM cadena AS STRING, i AS INTEGER   ' declaro una variable llamada cadena y otra llamada i

	PRINT "Introduce una cadena: "  ' Imprimo el mensaje 'Introduce una cadena'
	INPUT "", cadena   ' Pregunto por el valor de cadena
	
	FOR i=1 TO LEN(cadena)	' Hago un bucle repetitivo
		PRINT MID$(cadena, i, 1)
	NEXT i			' Cierro el bucle

END  ' Termino el programa

Estos comentarios están bien si el código forma parte de algún curso, pero no de un programa de uso habitual. Todo el mundo (que lleva un poco de tiempo programando en BASIC) sabe que con FOR se realiza un bucle repetitivo y que con END se finaliza el programa.

Los comentarios deben decirnos qué es lo que hace el programa, para qué sirven las variables y explicar las partes críticas o confusas del programas. Algo mas correcto sería:

' EJEMPLO.BAS
' Programa ejemplo creado para el curso de BASIC (QBasic 1.1)
' Víctor R. González, 2/02/2002

	DIM cadena AS STRING, i as INTEGER	' En <cadena> se almacenará el texto introducido
						' <i> será el contador de caracteres de <cadena>

	PRINT "Introduce una cadena: "
	INPUT "", cadena
	
	FOR i=1 TO LEN(cadena)			' Muestra cada carácter hasta la longitud de la cadena
		PRINT MID$(cadena, i, 1)
	NEXT i

END

Este programa es tan sencillo que no tiene puntos oscuros para comentar.

Es importante indicar para qué se van a usar las variables. Cuando tengamos muchas y pase el tiempo es difícil descifrar para que era cada una.

Volver al principio de página

 

Los nombres de las variables

Cuando hacemos un programa con prisas o por no pensar mucho damos a las variables cualquier nombre. Supongamos un programa con una sección de declaración de variables como la que sigue:

	DIM i%, j%, k%
	DIM x1#, x2#, x3#, x4#
	DIM a$, b$
	' ... muchas más variables

¿Cómo podemos acordarnos al cabo de un tiempo de qué era cada variable?. Por eso es conveniente que aparte de indicar para qué sirve cada variable les demos nombres descriptivos:

	DIM cuenta.x%, cuenta.y%, cuenta.z%	' Nº de posiciones x, y, z
	DIM x.minimo#, x.maximo# 
	DIM y.minimo#, y.maximo#		' Esquinas del rectángulo
	DIM tecla.inicio$, tecla.fin$		' Pulsaciones de comienzo y fin
	' ... etc

Volver al principio de página

volver a Inicio