REGLAS DE ORO DE LA PROGRAMACISN

1.- El programador debe siempre tener en cuenta que el usuario siempre se hace el inztil (a veces, ademas, lo es).

2.- El usuario nunca se lee las ayudas on line.

3.- El programa debe incluir ayuda on line para que el programador se las lea al usuario cuando este lo necesite.

4.- El usuario nunca sabe lo que quiere hasta que ve lo que le dan.

5.- El usuario y el programador siempre hablan distinto idioma.

6.- Hacer un programa es facil. Lo difmcil es que funcione correctamente.

7.- Modificar un programa es facil. Lo difmcil es modificarlo correctamente.

8.- Detectar fallos en un programa es facil. Lo difmcil es detectarlos todos.

9.- Para que un programa funcione correctamente, no basta con que lo haga 1 vez.

10.- Para que un programa funcione correctamente, no basta con que lo haga 100.000 veces.

11.- Primer enunciado de la Ley Universal de la Programacisn: Todo programa siempre es posible mejorarlo -liase tambiin ampliarlo/corregirlo-.

12.- Segundo enunciado de la Ley Universal de la Programacisn: Un programa no se termina nunca (y cuando se esta programandolo, parece interminable).

13.- Las Normas de Estilo deben cumplirse durante la programacisn, y no al terminar el programa, en la revisisn final.

14.- Si un programa no esta bien intentado, no es programa sino jeroglmfico.

15.- Lo mas difmcil de un programa es elegir los nombres de los indicadores (constantes, variables, funciones, procedimientos y tipos de datos), para que estos sean mas significativos.

16.- Usar identificadores no significativos ayuda a aumentar la complejidad de nuestro jeroglmfico.

17.- Usar constantes a pelo en nuestro programa (sin asociarlas a identificadores #define...), ayuda a aumentar la complejidad de nuestro jeroglmfico.

18.- Nuestro programa debe incluir suficientes comentarios.

19.- if (numero_comentarios != suficiente)

GOTO Regla_anterior;

20.- (La sentencia GOTO no debe aparecer en un programa!

21.- Un jeroglmfico NO debe estar bien estructurado y modularizado. Debe contener todo en la funcisn principal, sin que existan otras funciones (procedimientos) que puedan clarificar el programa.

22.- Poner a varios programadores a trabajar sobre el mismo programa no les convierte en un equipo.

23.- En un equipo de 2 programadores, siempre ocurre alguna de las siguientes situaciones:

- Uno lo hace todo y el otro sslo pone su nombre.

- Ambos lo hacen todo y obtienen 2 programas distintos, imposible de unificarlos.

- Deciden separarse por problemas de entendimiento y al final el programa no se termina.

24.- Ley de Brooks: Meter mas gente en un proyecto de software retrasado, lo retrasa azn mas.

25.- No existe relacisn entre el tamaqo del error y los problemas que causa.

26.- La documentacisn es el aceite de ricino de los programadores. Los jefes suponen que si tanto la odian los programadores, algo tendra de bueno.

27.- Una vez comprobado concienzudamente que todo funciona correctamente y todo esta bien integrado, azn quedan al menos cuatro meses mas de trabajo para que lo comprobado sea casi-cierto.

28.- La generacisn de nzmeros aleatorios es demasiado importante para abandonarla al azar.

29.- Para descubrir los fallos de un programa probado exhaustivamente, hay que darselo a probar al usuario mas novato.

30.- La torpeza del usuario es directamente proporcional a nzmero de fallos que descubre en nuestro programa.

31.- Los fallos del programa atraen al usuario mas intensamente si es antes de pagar al programador.

32.- Si un programa no funciona, seguramente es que necesitas un ordenador unas 100.000 pts. mas potente.

33.- La programacisn sirve para solucionar problemas, no para crearlos... bueno... esta mejor la quito.

33.- Aunque suene paradsjico, la programacisn NO tiene, ni debe tener Reglas de Oro.

 

Apindice B del libro AEjercicios resueltos de programacisn C@, por:

Pedro J. Sanchez Sanchez

Josi Galindo Gsmez

Ignacio Torias Gsmez

Isidoro Lloret Galiano

Servicio de publicaciones de la Universidad de Cadiz.