Controlar el contador de ciclos con valores enteros.
Hacer sangría de los enunciados en el
cuerpo de cada estructura de control.
Colocar una lÍnea en blanco antes y después de cada
estructura de control principal, para que se destaque en el programa.
Demasiados niveles anidados pueden dificultar la compresión
de un programa. Como regla general procure evitar el uso de más
de tres niveles de sangrías.
La combinación de espaciamiento vertical antes y después
de las estructuras de control y las sangrías de los cuerpos
de las estructuras de control dentro de los encabezados de las estructuras
de control, le da a los programas una apariencia bidimensional que
mejora de manera significativa la legibilidad del programa.
Usar el valor final en la condición de una estructura While
o for y utilizar el operador relacional <= auxiliar a evitar
errores de diferencia por uno. Para un ciclo que se utilice para
imprimir los valores del 1 al 10, por ejemplo, la condición
de confirmación de ciclo debería ser counter <=
10 en vez de counter < 11 o bien counter < 10.
Coloque sólo expresiones que involucren las variables de
control en las secciones de inicialización y de incremento
de una estructura for. Las manipulaciones de las demás variables
deberían de aparecer, ya sea antes del ciclo (si se ejecuta
una vez, con los enunciados de inicialización) o dentro del
cuerpo del ciclo (si se ejecuta una vez en cada repetición,
como son los enunciado incrementeles o decrementales).
Aunque el valor de la variable de control puede ser modificado en
el cuerpo de un ciclo for, ello podría llevarnos a errores
sutiles. Lo mejor es no cambiarlo.
Aunque los enunciados que anteceden a un for, y los enunciados del
cuerpo de un for, a menudo pueden ser combinados en un encabezado
for, evite hacerlo, porque hace el programa más dificil
de leer.
Limite, si es posible, a una sóla línea el tamaño
de los encabezados de estructuras de control.
No utilice variables de tipo float o double para llevar a cabo cálculos
monetarios. La falta de precisión de los números de
punto flotante puede causar errores, que resultarán en valores
monetarios incorrectos.
Proveer un caso default en os enunciados switch. En un switch serán
ignorados los casos no probados de forma explicita. El caso default
ayuda a evitar lo anterior, enfocando al programador sobre la necesidad
de procesar condiciones excepcionales. Existen situaciones en las
cuales no se requiere de procesamiento default.
Aunque las cláusulas case y la cláusula de caso default
en una estructura switch pueden ocurrir en cualquier orden, se considera
una práctica sana de programación colocar al final
la cláusula default.
En una estructura switch, cuando la cláusula default se lista
al final, el enuciado break no es requerido. Pero algunos programadores
incluyen este break, para fines de claridad y simetría con
otras cosas.
Recuerde proporcionar capacidades de proceso para los caracteres
de nueva línea en la entrada, cuando se procesen caracteres
uno a la vez.
Algunos programadores incluyen siempre llaves en una estructura
do/while aún si las llaves no son necesarias. Esto ayuda
a eliminar ambigüedad entre la estructura do/while con un enunciado,
y la estructura while.
Algunos programadores son de la opinión que break y continue
violan las normas de la programación estructurada. Dado que
los efectos de estos enunciados pueden ser obtenidos mediante técnicas
de programación estructuradas, estos programadores no utilizan
break ni continue.
Cuando una expresión de igualdad tiene una variable y una
constante como en x == 1, algunos programadores prefieren escribir
la expresión con la constante a la izquierda y el nombre
variable a la derecha, como protección ante un error lógico,
que ocurriría cuando el programador remplaza de forma accidental
el operador == por signo de =.
|