Está en la página 1de 3

Principios de la Buena Programacin Programacin Avanzada

Prof. Miguel A. Pizaa

17 de Septiembre de 2007

Lista basada en: Kernighan y Plauger

The Elements of Programming Style


Computing McGraw-Hill, 2

a edicin, (1988)

Objetivos:

Robustez

Claridad

Extensibilidad

Reusabilidad

Eciencia

1. Principios Generales

a) b) c) d) e) f) g) h) i) j) k) l) a) b) c) d) e)

Es mejor ser claro que astuto. Parentizar para evitar ambigedades. Escoger nombres de variables y funciones claros. Usar cada variable para un solo propsito. Inicializar variables tan cerca como sea posible de su denicin y/o uso. Reemplazar cdigo repetitivo con llamadas a funciones. Usar funciones de la biblioteca standard. Utilizar identacin para separar bloques de cdigo lineal conceptualmente distintos. Hacer que el programa se lea de arriba a abajo, por ejemplo:

main()

siempre va primero.

Reemplazar cdigo malo (no parcharlo). Escribir y poner a prueba el programa de manera incremental. Evitar el uso de nmeros mgicos.

2. Estructuras de control Usar identacin en las estructuras de control. Usar

else-if else's goto. switch

en lugar de vacos.

then-if.

Evitar Usar

siempre que sea posible.

Evitar

3. Modularizacin

a) b) c) d) e) a) b) c) d) e) f) g) a) b) c) d) e) a) b) c) d) e)

Usar mdulos y subrutinas. Denir claramente las atribuciones de los mdulos. Dejar que los mdulos escondan cosas. Usar archivos cabecera. Evitar el uso de variables globales en los mdulos cuando sea posible.

4. Entrada/Salida Checar la validez de las entradas. Vericar que los rangos de las variables no violen las capacidades del programa. Identicar entradas invlidas y recuperarse. Vericar que el n de archivo se encuentre cuando se espera. Autodenir la entrada, usar valores por omisin. Aislar rutinas de entrada/salida en mdulos separados: nunca usar Jams usar

getch() gets().

ni

scanf()

directamente.

5. Errores Comunes Vericar el programa en los valores frontera. Vericar errores de

1.

Programar defensivamente. Escribir cdigo de recuperacin para apuntadores nulos. Punto otante: la igualdad.

6. Documentacin No muchos ni pocos comentarios. Que el cdigo y los comentarios coincidan. Comentar funciones y mdulos. Documentar las estructuras de datos. Comentar los parmetros de las funciones cuando sea necesario.

7. Eciencia

a) b) c) d) e)

Primero correcto, luego rpido. Primero claro, luego rpido. Mantenerlo correcto cuando se optimiza. El cdigo simple es en general ms rpido. No sacricar claridad por una pequea ganancia en eciencia.

También podría gustarte