Interesante el cruce de post entre Torek y Juan Navarro comparando el desarrollo de software con la jardinería. La verdad es que había oido muchas comparaciones, algunas de ellas tremendas, pero esto es nuevo … y acertado. Yo realmente no concibo el desarrollo de software como lo hacen las metodologías tradicionales, sino mucho más de acuerdo a las metodologías ágiles, como la Programación Extrema.
Sin embargo hay una frase de uno de los post de Hector – asi lo llamaba en mi clase 🙂 – que me ha llamado la atención:
El problema es que los informáticos no tenemos métodos para saber si un usuario se va a caer por un balcón de antemano. Tenemos que observar al usuario como se cae por el balcón para luego cambiar la altura de la barandilla.
Pues claro que los tenemos. Si dejas abierto un agujero en tu programa sin barandilla el primer usuario se asoma, el segundo pone el pie en el borde y el tercero se cae. Fijo. Y si la pones alta pero dejas un agujero alguien intentará pasar el cuerpo por ahí.
En la útima versión de Cuaderno de Bitácora, el programa permite que en algunos listados determinados campos se impriman en varias lineas. Para ello busca blancos para cortar el campo por palabras, para no hacerlo a cuchillo. Pues a un señor le cascaba cuando imprimia su listado de libros. ¿? Miré el código y todo bien. Pero el señor decia que le explotaba aquello. Al final le dije que me enviara su fichero de libros. Habia metido noseque libro que tenía un título más largo que un dia sin pan todo seguido, al estilo de:
ElQuijote:vidaymil.deling.hid….
cortaba las palabras con . pero no dejaba ni un blanco de separación. Lo último que podía pensar era que alguien llenaría todo el campo sin un solo blanco de separación.
¿ Barandillas ? ¡ Rejas tendríamos que poner ! 😉
Ahi viene otro de los problemas. No sabemos a que usuarios nos enfrentamos, la diversidad puede ser inmensa, y los conocimientos de cada uno muy variados. Mientras que todo el mundo con un poco de sentido común sabe que no debe sentarse en una barandilla de un balcón. En informática pocos saben lo que realmente hacen, lo que deben hacer, lo que no deben hacer etc. Toda la responsabilidad recae en el programador.
¿Rejas dices? A algunos habría que devolverlo al parbulario y que los reeducasen. Barbaridades como las que describesse ven a montones y con respuestas como «¿acaso vd como programador no puede preveer que ese campo pueda ser más largo?».
A veces te pegas horas pensando la longitud de un campo y por mucho que le das vueltas nunca piensas que se pueda producir una cosa como esa.
Tambien, cuando decides cortar las cadenas por espacios para que no destrozar palabras tampoco se te ocurre que el usuario pueda meter otra cosa en vez de espacios, he encontrado giones bajos, barras, puntos, comas, simbolos raros, …. y lo unico que se me ocurre es avisar en la documentación, con grandes letras, que para poder cortar es necesario incluir espacios en blanco.
Pero si los usuarios, de normal, no leen la documentación 🙂
Yo creo que en la documentación ponemos aquello que nos interesa para poder justificarnos delante del usuario. 😉 «Hombre… ¿pero no se ha leido el manual? Si allí lo pone bien claro… Sólo MAYUSCULAS» (es un ejemplo pensado al vuelo)
Bones,
Es totalmente imposible crear un programa a prueba de bombas. Todos tenemos en la cabeza siempre la pregunta ‘… y si un tio me hace esto o lo otro ?…’
Se ha de buscar un equilibrio con lo coorente, y cuando un usuario usa nuestras aplicaciones, evidentemente debe de tener una formación para saber manejar la herramienta.
Cuando compramos un coche, en principio es una herramienta q funciona bien, pero q ocurre si:
– En lugar de gasolina le hechas diesel
– Corres por donde no tienes q correr
– No giras el volante cuando lo tienes q girar
– Hinchas las ruedas mas de lo debes
– …
Tiene el coche todo un sistema de previsiones para este tipo de situaciones. -> No
Ya se q muchos de nosotros nos preguntamos ‘..este tio no tiene ni flowers…’ , pero no nos podemos pasar el tiempo buscando todo tipo de situaciones. Nos debemos remitir a nuestra doc. (ni q no la usen, este es otro tema)
Salutacions.
C.