[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [escepticos] año 2000



Luis Carlos Duce-LP wrote:
> 
> A parte de las catástrofes que nos anuncian algunas sectas para el
> cambio de milenio, últimamente están apareciendo en la prensa
> noticias sobre el llamado virus del año 2000 que afectará a los
> sistemas informáticos que no se hayan preparado para el
> acontecimiento. La que más me ha llamado la atención, es la de que
> la CIA recomienda a sus agentes que preparen mantas y reunan todo el
> dinero en efectivo que puedan.
> 
> ¿Tan complicado es modificar los campos de fecha en los programas?

	El problema no es modificar campos, sino los efectos
colaterales inesperados, y la probabilidad que existe de
introducir nuevos errores.

	Un ejemplo inocente me ocurrio a mi hace 10 a~nos.

	Hice un programa para unos terminales portatiles (una
especie de PDAs) que servia para recoger datos de tiempos en
una fabrica. Ya sabeis, el tiempo que emplea cada operario en
cada orden de trabajo, etc.

	Pues bien; el programa tenia una rutinilla (como no)
para poder poner la fecha y la hora (que se podian perder
si se agotaba la pila).

	El caso es que el programa lo entregue, digamos, en
marzo, y en agosto me llamaron diciendo que se les habian
"atascado" algunos terminales. Segun parece, habian estado
cambiando la hora (eran muy puntillosos y ya se sabe que los
ordenadores no suelen tener relojes muy precisos) y cuando le
dabas los datos los volvia a pedir diciendo que los habias 
introducido erroneamente.

	Cual era el error? una solemne tonteria. Despues de
introducir la fecha y la hora, comprobaba que el dia era
correcto para el mes introducido, y habia algo asi somo esto:

		si mes < 8
			mes par -> 30 dias
			mes impar -> 31 dias

		si mes > 8
			mes par -> 31 dias
			mes impar -> 30 dias

	Pues bien, un amigo que me estaba mirando por encima
del hombro me pregunto "Por que no pones un menor-o-igual en
una de las condiciones?" y eso explico el problema.

	Me refiero con todo esto a que hay infinidad de cosas
que pueden fallar, y algunas no tan obvias. En este caso,
no se permitia al usuario cancelar la peticion y se quedaba
permanentemente en este paso.


	Borja.