|
Regresar a |
Regresar a |
Si una instalación de prueba funciona perfectamente,
todos los sistemas que le siguen funcionarán mal.
Las cintas intercambiables no se intercambiarán.
El valor de un programa es proporcional
a la importancia de su output.
La complejidad de un programa va creciendo
hasta exceder la capacidad del programador que debe mantenerlo.
Cualquier programa dado se expandirá hasta
llenar todos los recursos disponibles.
Cualquier programa no trivial contiene al
menos un bug.
Los errores indetectables son infinitos
en su variedad, en contraste a los errores detectables, los cuales son limitados
por definición.
Siempre hay un error más.
Leyes
de Documentación de Arnold:
1) Si debe existir, no existe.
2) Si existe, está descontinuado.
3) Sólo la documentación para programas
inútiles supera las primeras dos leyes.
Leyes
de Finagle:
Si un experimento funciona, algo ha ido mal.
(a)
Malinterpretarlo.
(b)
Falsificarlo.
(c) Creer que
sucedió según su propia teoría favorita.
En cualquier conjunto de datos, la figura
más obviamente correcta, más allá de toda necesidad de comprobación, es el
error.
Una vez que un trabajo se desordena, cualquier
cosa que se haga para mejorarlo lo empeora.
Siempre guarda un registro de los datos;
eso indica que has estado trabajando.
Corolarios:
1) Nadie a quien le pidas ayuda lo
verá.
2) La primera persona a quien se le haga una
corta visita, cuyo consejo realmente no quieres oír, lo verá
inmediatamente.
Reglas
de Optimización de Programas:
à No lo hagas.
à (Sólo para expertos): No lo hagas todavía.
Ø Los que pueden, hacen. Los que no pueden,
enseñan. Los que no pueden enseñar, administran.
Ø Los que pueden, hacen; los que no pueden, fingen.
Una buena declaración de un problema incluye:
(a) lo que se
conoce;
(b) lo que no se conoce, y
(c) lo que se
busca.
Edward
Hodnett
Ø Asegúrate que todas las variables estén
inicializadas antes de usar.
Ø Asegúrate que los comentarios y el código
concuerden.
Ø Haz toda entrada fácil de corregir.
Ø Hazlo bien antes de hacerlo más rápido.
Segunda
Ley de Revisión:
Mientras parezca ser más inofensiva una modificación,
se extenderá más su influencia y tendrán que rehacerse más planes.
Norma
para la Programación de Sistemas de Steinbach:
Nunca pruebes una condición de error que no sepas cómo
manejar.
Regla
del Deshecho:
La información se deteriora hacia arriba, a través de
la burocracia.
Ley
de Confiabilidad de Glib:
La inversión que se hace para que un sistema sea
confiable aumentará hasta superar el costo de los probables errores, o hasta
que alguien insista en lograr que se haga algún trabajo útil.
Ley
de Flon:
Ni lo hay ahora, ni nunca lo habrá, un lenguaje de programación en el que no se tenga la más mínima dificultad de escribir un mal programa.
Ley
de Holland y Williams:
Si se recolectan suficientes datos, se puede probar
cualquier cosa por medio de métodos estadísticos.
Ley
de Ingeniería de Software de Mosher:
No te preocupes si no funciona bien. Si todo
funcionara, no tendrías trabajo.
Ley
de Putt:
La tecnología está dominada por dos tipos de personas: Las que comprenden lo que no administran. Las que administran lo que no comprenden.
Proverbio
de Programación de Karl: Cuando
tengas duda, imprímelo.
Ley
de Brooke:
Siempre que un sistema queda definido completamente,
algún maldito tonto descubre algo que abole el sistema o lo expande hasta más
allá de lo conocido.
Segunda
Ley de McKay:
Si no funciona, apágalo, y luego vuélvelo a encender.
Ley
de Sattinger:
Funciona mejor si lo enchufas.
Ley
de Shick:
No hay problema que un buen milagro no pueda
resolver.
Ley
de Woltman:
Nunca programes y bebas cerveza al mismo tiempo.
Revelación
de Gallois:
Si pones tonterías en un computador, no saldrán más
que tonterías. Pero estas tonterías, habiendo pasado por una máquina muy
costosa, están de alguna manera ennoblecidas, y nadie se atreverá a
criticarlas.
Axioma
de Don:
Cuando todo lo demás falle, lea las
instrucciones.
Conexión
de Lyall:
Si un cable de computación tiene un extremo, entonces
tiene otro.