noviembre 2008

Char curiosidad de IsLetter e IsDigit

El otro día, nos disponíamos mi jefe y yo a realizar un control sobre un campo de texto de una aplicación web. La idea era que en este campo solo se pudiera incluir texto o números, pero en ningún caso debería de poderse incluir caracteres raros. Seamos sinceros y siempre que hemos necesitado usar esto en lenguajes donde su framework no estaba preparado para diferenciar que tipo de carácter era, acabamos o bien creando un array diccionario y comparando los caracteres o bien usando expresiones regulares. Como no, desde el salto a tecnología de Microsoft (en este caso Visual Basic .Net) me propuse buscar alguna clase o método que hiciera solo lo que quería hacer, y la encontré.

En .Net existe la clase Char, que tiene el método Char.IsLetterOrDigit (boleano) donde le indicas un char o carácter y este te devuelve true o false si es un número o letra y false si no lo es. Monto una función para recorrer carácter a carácter del campo de texto comprobando si es alfanumérico o no, con la idea de borrar los caracteres que no sean alfanuméricos. Una vez montada la función, la pruebo unas cuantas veces y todo funciona estupendamente. Cuando nos vamos a disponer a subir a producción… sorpresa, la última prueba a fallado (pero es imposible), se nos deslizo el dedo y por poner un «1», pusimos un «º». Cuando nos ponemos a investigar (ha probar con jabatos) nos damos cuenta de que esta función, establece que los caracteres «º» y «ª» son alfanuméricos, vamos que son letras, supongo que la «o» y la «a».

Por supuesto esto lo controlamos y listo, pero si alguien se encuentra en nuestra misma situación y conoce alguna función que si trabaje correctamente que lo comente. Y si alguien buscando por internet se encuentra bloqueado y se ve encuentra con este post, ya puede respirar tranquilo, porque no es que funcione mal, es que no funciona del todo bien. (Si, ya se que para algunos «º» y «ª» son letras, pero realmente son caracteres especiales)

Como estropear un proyecto

Bueno, este post va dedicado a mis queridos jefes (JL, tu te salvas porque eres el único jefe sensato de la empresa). Supongamos que tenemos un proyecto, digamos por ejemplo…. un buscador. Digamos que el buscador es algo primitivo en cuanto a metodología de programación se refiere. Digamos que con el paso de los años, vamos añadiendo nuevas funcionalidades a nuestro buscador (que no, que no, que no son nuevas funcionalidades, son ñapas sin relación ni estudio previo que no hace mas que ensuciar y joder el proyecto). Supongamos que nuestro querido buscador se hace famoso y llega una compañía que lo quiere utilizar, pero claro, esta quiere que aparezca su logotipo, estilos y demás y como no, vamos a crear nuestra primera marca blanca. Como no, seguimos suponiendo, ya que hemos creado nuestra primera marca blanca, por que no crear 4 o 5 mas, y como es costumbre en España, para que vamos ha realizar un estudio previo…. nooooo, vamos a guarrear al máximo el código para joder al que venga detrás nuestra. Ahora que ya tenemos un proyecto gualtrapa, con código guarro guarro guarro, vamos a poner orden, para esto, le pedimos opinión al tío con el que desayunamos, al vecino del 4º y a la limpiadora. Ahora que ya tenemos la opinión de cada uno, unas opiniones mas acertadas y otras menos, vamos a proceder a emarañar todas esas opiniones obteniendo un batido o un brain tifón, ya que todas las ideas son arrasadas y se apilan en escombros. Bueno, y que falta para terminar de «maquear» nuestro proyecto….. pues llevar a cabo esas ideas, para ello cogemos ese popurrí de ideas que hasta nuestra madre nos apoyo dandonos su versión y las llevamos a cabo (ni que decir tiene sin estudio ninguno). Para darle ese toque Español, vamos a decir que para hacer todo esto con 2 semanas de microondas es suficiente y como es superimportante, no se puede retrasar ni un día bajo pena de……..

Resumiendo,

Base: proyecto guarro, feo, desordenado

Objetivo: proyecto limpio, bonito, eficaz

Final: proyecto guarro, feo, desordenado, caótico

Para hacer la limpieza de nuestro proyecto hemos utilizado:

300.000 lineas de código, cuanto mas desordenado e indocumentado mejor.

50.000 lineas de nuevo código mr. proper con un toque de pintura, para dejar huella

Lo dejamos de 2 a 3 semanas de cocción en el departamento y obtendremos una rica y suculenta ñapa, y con fundamento.

La verdad es que si no lo suelto, reviento.

100 visitas diarias

Bueno, aunque por trabajo llevo mas de un mes sin escribir (manda huevos y no tengo excusa) he conseguido, o mejor dicho el blog solito ha conseguido superar durante los últimos 15 días la barrera de las 100 visitas diarias, incluyendo fines de semana que son mas flojitos. Esto «me llena de orgullo y satisfacción» ya que poco a poco el blog va creciendo. A ver si me tomo menos en serio mi trabajo y mas enserio mi blog y escribo más, porque tengo «chicha» como para escribir mas de 40 artí­culos, pero me tengo que sentar a escribir. Bueno, espero que aunque un poco chorra, pueda escribir al menos 1 post al día, a ver si lo consigo.

Scroll al inicio