{"id":127,"date":"2007-10-03T13:23:00","date_gmt":"2007-10-03T13:23:00","guid":{"rendered":"http:\/\/www.mundowdg.com\/blog\/?p=127"},"modified":"2007-10-03T13:23:00","modified_gmt":"2007-10-03T13:23:00","slug":"la-informatica-falla","status":"publish","type":"post","link":"https:\/\/mundowdg.com\/blog\/2007\/10\/03\/la-informatica-falla\/","title":{"rendered":"La inform\u00e1tica falla."},"content":{"rendered":"<p>Igual que no hay crimen perfecto, no hay programa perfecto. Y resulta que aqu\u00ed tenemos unos lusers que si de verdad quisieran ganarse la vida con su talento, deber\u00edan ser beta testers.<\/p>\n<p>En el caso de que se reconvirtiesen en beta testers podr\u00edan pasar dos cosas:<br \/>-Que consiguiesen que los programadores hicieran el programa perfecto. Todos los errores controlados, todo f\u00e1cil.<br \/>-Que el programa nunca dejase de escupir bugs. Asesinatos en masa de beta testers. Modus operandi: 78 pu\u00f1aladas en el pesho con un pendrive.<\/p>\n<p>Bueno, al caso. Que no existe el programa perfecto. Los programas se adaptan a unas necesidades e intentan cubrir el m\u00e1ximo de posibilidades de error para manejar esos errores y llevar la acci\u00f3n a buen t\u00e9rmino. Tanto es as\u00ed, que muchas veces, hay m\u00e1s c\u00f3digo de control de errores que c\u00f3digo \u00fatil.<\/p>\n<p>Por poner un ejemplo, en el programa TPV que hice para las tiendas, cuando el usuario escribe algo en el campo \u00abprecio\u00bb, hago una serie de comprobaciones:<\/p>\n<p>1) Que haya escrito algo. No sea que se le haya olvidado. Si se le olvida, preguntar por el precio.<br \/>2) Que lo que ha escrito sea un n\u00famero. \u00bfPor qu\u00e9? Pues porque les puede dar por escribirlo con letras. Se me ha dado el caso.<br \/>3) Que el precio sea mayor que cero. La cantidad puede ser positiva o negativa. Pero el precio es siempre positivo.<br \/>4) Si el n\u00famero tiene decimales, que sean dos. Una lista puso siete decimales en el precio. Y luego se quejaba de que el sistema le hab\u00eda redondeado a 2 decimales.<br \/>5) Que el precio sea mayor que el precio de coste. Que una cosa es vender barato y otra tirar los precios y perder diero.<br \/>6) Que el precio no sea mayor de 10.000\u20ac. \u00bfPor qu\u00e9? Por precauci\u00f3n. No solemos vender art\u00edculos tan caros. Este control viene de cuando una vendedora ley\u00f3 un c\u00f3digo de barras en el campo de precio y en el arqueo le sali\u00f3 un d\u00e9ficit de 84 millones de euros. Si es mayor de 10.000 euros, se pregunta si es correcto.<\/p>\n<p>En fin, eso para un campito de nada y de memoria, que no estoy mirando el c\u00f3digo fuente, pero seguro que hay alguna cosita m\u00e1s.<\/p>\n<p>Pero a lo que voy, que me enredo. Esta gente es capaz de destrozar un programa e incluso la moral de un servidor. Transcribo conversaci\u00f3n:<\/p>\n<p>-Que hemos cobrado de m\u00e1s en un presupuesto.<br \/>-\u00bfY eso?<br \/>-Pues es que hemos cobrado 200\u20ac, entonces hemos dado a aceptar y ha salido el ticket para imprimir, pero no se ha abierto el caj\u00f3n portamonedas.<br \/>-Vaya.<br \/>-Y entonces, pues le hemos dado otra vez a cobrar. Y tampoco se ha abierto el caj\u00f3n. Entonces, hemos mirado la impresora y no ten\u00eda papel. Y como el caj\u00f3n se abre despu\u00e9s de imprimir, pues no se ha abierto.<br \/>-\u00bfY qu\u00e9 hab\u00e9is hecho? &#8211; pregunto mientras me hago unas palomitas.<br \/>-Pues hemos puesto papel en la impresora. Se ha puesto a imprimir como una loca y ha abierto el caj\u00f3n dos veces.<br \/>-\u00a1A que mola!<br \/>-S\u00ed, pero como no est\u00e1bamos seguras, le hemos cobrado de nuevo 200\u20ac a ese presupuesto y esta vez s\u00ed, al imprimir ya ha abierto el caj\u00f3n.<br \/>-Esto&#8230; \u00bfHab\u00e9is visto la llave que hay en caj\u00f3n portamonedas?<br \/>-S\u00ed.<br \/>-Pues es para abrirlo.<br \/>-\u00bfAh si?<br \/>-S\u00ed. Es curioso, \u00bfeh?<br \/>-Es que como no lo sab\u00edamos&#8230; pues&#8230; hemos ido probando.<br \/>-\u00bfHas probado el \u00e1cido sulf\u00farico?<br \/>-No, \u00bfqu\u00e9 es eso?<br \/>-Una cosita que hace cosquillitas en el gaznate. Luego te mando un frasco pa que vayas probando.<\/p>\n<p>En fin, que a\u00f1ado una comprobaci\u00f3n m\u00e1s al To Do  de ese programa: No guardar los cobros a clientes hasta no estar seguro de que el ticket ha sido impreso, el caj\u00f3n portamonedas abierto, cerrado, calculado el peso de los billetes y disparado el rayo de la muerte a m\u00e1xima potencia.<\/p>\n<p>Las odio. Con toda mi alma.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Igual que no hay crimen perfecto, no hay programa perfecto. Y resulta que aqu\u00ed tenemos unos lusers que si de verdad quisieran ganarse la vida con su talento, deber\u00edan ser beta testers. En el caso de que se reconvirtiesen en beta testers podr\u00edan pasar dos cosas:-Que consiguiesen que los programadores hicieran el programa perfecto. Todos [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-127","post","type-post","status-publish","format-standard","hentry","category-general"],"_links":{"self":[{"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/posts\/127","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/comments?post=127"}],"version-history":[{"count":0,"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/posts\/127\/revisions"}],"wp:attachment":[{"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/media?parent=127"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/categories?post=127"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mundowdg.com\/blog\/wp-json\/wp\/v2\/tags?post=127"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}