… pronto, muy pronto. Siento estar tan desaparecido, que más quisiera yo que tener algo de tiempo para poder escribir en el blog, pero de momento y hasta que no pase los exámenes, la presentación del proyecto y la mudanza al nuevo piso, voy a estar bastante jodido.
Con suerte en menos de una semana volveré a la vida normal
Quería agradecer a todos los que me estáis ayudando con mi proyecto. Habéis detectado numerosos errores que he ido corrigiendo, alguno de ellos eran graves y otros no tanto.
He subido al servidor de pruebas una nueva versión que entre otras cosas corrige:
- Ahora la indexación es más eficiente y recoge noticias con muchísima mayor frecuencia y eficacia.
- Las categorías relacionadas a la categoría actual visitada tienen más sentido, antes salía una lista monstruosa donde algunas no tenían nada que ver. Gracias Javi por el aviso.
Por otra parte sigo sin encontrar un nombre para el proyecto, me han propuesto algunos como BlogHunta (algo así como imitando a “Cazador de blogs” uniendo Blogs y Hunter) que no estaban mal, pero sigo seco de ideas y acepto TODAS vuestras sugerencias y críticas
Últimamente me sorprende la cantidad de situaciones diarias que vivo donde los propios informáticos nos jodemos entre nosotros mismos.
El tema es que desde hace unos meses estoy currando de becario en la universidad y la verdad es que aun a día de hoy me siento alli tremendamente “inculto” en el sentido de que veo que todo el mundo sabe un huevo de todo, y me encanta que sea asi porque no hay día que no aprenda algo.
Sin duda, me esta aportando bastante la experiencia de becario, todos allí me aportan algo nuevo siempre.
Por otra parte, este post va encaminado justo en el lado contrario. El lado que por desgracia también vivo a diario y es cuando tus propios compañeros enseguida te sueltan un “que friki eres” simplemente por usar un sistema operativo distinto a window$, ya sea Ubuntu, o cualquier otra distribución de GNU/Linux porque si usas MAC automáticamente eso no es ser friki sino cool, hay que joderse.
Supongo que en cierta manera GNU/Linux aun no ha calado en muchos usuarios “de a pie” y en el fondo es normal que aun tengan una visión equivocada de lo que es Linux, pero que ingenieros informáticos no tengan una visión real o no sepan valorar su libertad a nivel virtual, es sin duda preocupante.
Y es verdad, en mi carrera (ingeniería informática) hay muchísima gente cerrada de mente. No les gusta la informática y lo peor es que lo raro sea el tener interés por el software libre o por hacer algo más allá de las jodidas clases. Sinceramente, cuando buscaba el curro, lo primero que me pidieron era tener un nivel medio de manejo de linux, y ciertos conocimientos todos fuera de la carrera. Me gustaría ver la cara de ciertos de mis compañeros en esa situación. En este sentido, aclarar que ni de coña me siento un experto en nada, es más como comentaba antes me siento el último mono en el curro, pero si es cierto que tengo algo más de sangre para remangarme y ponerme a afrontar cualquier situación (entiéndase tecnología, lenguaje de programación o cualquier cosa desconocida) que en un principio no controle.
Luego nos quejamos del intrusimo laboral cuando en gran medida lo provocan este tipo de personas. Sinceramente tengo colegas que sin estudiar informática sino currando, estudiando física en sevilla ^^, etc bien valdrían bastante más que estos futuros ingenieros informáticos.
Todo este tocho de post supongo que es por soltar un poco lo que llevo dentro. Es cierto que los informáticos lo tenemos jodido en temas de atribuciones y demás pero por parte de muchos, no se hace más que echarnos más mierda encima.
Este es un post difícil e importante para mi. Dificil porque quiero intentar explicar en que consiste mi proyecto de fin de carrera (para el que no lo sepa, estoy cursando el último año de Ingeniería Informática en Sevilla, digo último si Dios y las ARC me lo permiten).
Bueno el proyecto en sí, en el que llevo trabajando desde Octubre a tirones, realiza una indexación en TODOS los blogs pertenecientes a la plataforma WordPress, y bajo cualquier categoría bajo la que se postee. Es decir, es un portal de noticias de cualquier temática, indexando por el momento más de 3 millones de blogs.
Entre sus pilares, destacan:
Lectura de las noticias originales o bien de un resumen de éstas (generado mediante el algoritmo de TextRank).
Selector de idiomas, para filtrar solo aquellas noticias que te interesen.
Sistema de búsqueda comunitario, mejora las búsquedas en función del uso de la aplicación por parte de los usuarios.
Su funcionamiento es sencillo, solo tienes que indicar que temática te interesa, por ejemplo: Ubuntu, Linux, Software Libre, Formula 1, videojuegos, jardinería, noticias nacionales, política, etc etc etc etc
Además los usuarios registrados poseeran un menu personalizado con sus categorías, en los pantallazos que he incluido podéis verlo con más detalle.
La aplicación aun presenta algunos fallos menores y otros no tan menores (como varios problemas en la implementación del algoritmo de generación de resúmenes que me traen de cabeza).
Es por eso que me gustaría pedir vuestra ayuda, colaborando como beta-testers de la aplicación. Así, podéis contarme errores que no he detectado, darme nuevas sugerencias o simplemente probando la aplicación y dejándome vuestras impresiones en un comentario a esta entrada. Aqui dejo mi mail de contacto.
La entrega del proyecto tendrá lugar el 3 de Junio, de manera que aun queda suficiente tiempo para ir puliendo detalles e ir recogiendo las impresiones de los usuarios.
Por cierto, acepto SUGERENCIAS PARA EL NOMBRE de la plataforma
Creo que es la primera vez que hago un llamamiento a la comunidad de este tipo, pero la verdad es que agradecería cualquier duda, impresión, comentario, lo que sea.
Ya se encuentra disponible el video, en formato torrent, que Richard M. Stallman dió el pasado miércoles 9 de abril en el Aula Magna del Campus de Rabanales.
Desde Laboratorio de Software Libre de la Universidad de Córdoba nos informan (gracias Paco por el aviso) de la próxima conferencia del padre del software libre en la ciudad de Córdoba.
El lider del movimiento del Software Libre y de la Free Software Foundation, nos brindará una conferencia, por primera vez en la Universidad de Córdoba, en la que nos contará el surgimiento del movimiento y sus consecuencias. La conferencía será el Miércoles 9 de Abril a las 11:30 12.30 en el Aula Magna del Aulario Averroes del Campus Universitario Rabanales.
Sin duda todo un evento que os recomiendo no perderos si tenéis la oportunidad de ir. Personalmente intentaré repetir experiencia y poder asistir.
Via bpsmind me entero de que mañana en mi facultad se hará una jornada por parte de Sun. Yo no podré ir porque estaré currando pero si tenéis la oportunidad de ir, os lo recomiendo.
A los interesados que esteis cerca de Sevilla, podríais venir (creo que hay que pagar si no eres alumno de la Universidad de Sevilla) y ver como se plantea todo. De todas formas os pongo aquí el guión que se seguirá:
1.- Java is Everywhere (30′).
2.- Java Associate Certification (2h). Contenido técnico y prácticas de examen sobre la certificación básica de Java Sun Certified Associate for the Java Platform, Standard Edition,Exam Version 1.0 (CX-310-019)
3.- Official Java Curriculum Paths (30′). Visión de los caminos curriculares Java, capacitación de las certificaciones, perfiles profesionales, salidas laborales, visión del mercado laboral, etc…
4.- J2ME Practice through Netbeans (2h). Sencilla práctica sobre un ejemplo de desarrollo con J2ME empleando Netbeans
Se que llevo como dos o tres días sin casi pasar por el blog, ni visitar blogs que suelo leer, la explicación es sencilla: estaba a reventar de trabajo, exámenes, proyectos… bueno eso y que se me ha ido la fuente de alimentación del PC de casa.
En fin, parece que lo peor, o por lo menos académicamente, ha pasado. Tengo tantas horas de sueño acumuladas que en breve hoy me voy para el sobre, a ver si con suerte mañana tengo fuerzas para resucitar y seguir con el curro como becario y descansando por fin de la universidad.
PD - Esta mañana en el PC del trabajo pude probar la última beta de firefox 3 y la verdad es que va de lujo, han mejorado casi todos los fallos que le vi a la anterior beta (como el cuadro de texto que se mostraba al agregar una página a favoritos). La recomiendo totalmente
PHP usa una mezcla entre interpretación y compilacion para intentar ofrecer a los programadores la mejor mezcla entre rendimiento y flexibilidad.
PHP compila para tu codigo una serie de instrucciones (llamadas opcodes) siempre que estas son accedidas. Estas instrucciones son entonces ejecutadas una por una hasta que el script termina. Esto es diferente a la manera convencional de compilacion de lenguajes como C++ donde el código es compilado a código ejecutable que es despues ejecutado. Php es recompilado cada vez que se solicita un script.
Una ventaja importante de interpretar el código es que toda la memoria usada por tu código es manejada por PHP, y el lenguaje automáticamente vacía esta memoria cuando el script finaliza. Esto significa que tu no tienes que preocuparte de las conexiones a la base de datos, porque PHP lo hará por ti. leer más
¿Por qué deberías aprenderlo?
Es uno de los lenguajes de progrmación más populares, la gran fluidez y rapidez de sus scripts y su prometedor futuro, desarrollar aplicaciones Webs utilizando lenguajes como C o COBOL son cosas del pasado.
2.C#
¿Qué es?
C# es un lenguaje de propósito general orientado a objetos creado por Microsoft para su plataforma .NET.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes. C# fue diseñado para combinar el control a bajo nivel de lenguajes como C y la velocidad de programación de lenguajes como Visual Basic.
¿Por qué deberías aprenderlo?
Es una parte esencial de la plataforma .Net, C# combina los mejores elementos de múltiples lenguajes de amplia difusión como C++, Java, Visual Basic o Delphi. De hecho, su creador Anders Heljsberg fue también el creador de muchos otros lenguajes y entornos como Turbo Pascal, Delphi o Visual J++. La idea principal detrás del lenguaje es combinar la potencia de lenguajes como C++ con la sencillez de lenguajes como Visual Basic, y que además la migración a este lenguaje por los porgramadores de C/C++/Java sea lo más inmediata posible.
3.AJAX
¿Qué es?
AJAX no es un lenguaje exactamente su nombre viene dado por el acrónimo de Asynchronous JavaScript And XML y es posiblemente la mayor novedad en cuanto a programación web en estos últimos años.
El corazón de Ajax es el objeto XMLHttpRequest que nos permite realizar una conexión al servidor y al enviarle una petición y recibir la respuesta que procesaremos en nuestro código Javascript, estamos hablando del verdadero motor de Ajax, por ejemplo gracias a este objeto podemos desde una página HTML leer datos de una web o enviar datos de un formulario sin necesidad de recargar la página.
La demanda de AJAX no sólo es amplía sino que de calidad debido a la dificultad de aprendizaje que conlleva, si la herramienta de Microsoft, Atlas, destinada a la realización de aplicaciones AJAX tiene éxito puede suponee un aumento en la demanda de esta tecnología.
4.JavaScript
¿Qué es?
Se trata de un lenguaje de programación del lado del cliente, porque es el navegador el que soporta la carga de procesamiento. Gracias a su compatibilidad con la mayoría de los navegadores modernos, es el lenguaje de programación del lado del cliente más utilizado.
¿Por qué deberías aprenderlo?
La razón de mayor peso es que es utilizado por millones de páginas webs para validar formularios, crear cookies, detectar navegadores y mejorar el diseño, su fácil aprendizaje lo hace un lenguaje muy demandado.
5.Perl
¿Qué es?
Perl es la alternativa más popular a PHP, seguramente porque es el lenguaje más antiguo tambien dentro de las alternativas. En internet nos encontramos numerosos recursos que utilizan Perl, muchos de las aplicaciones “open source” requieren tener Perl instalado correctamente. Perl tiene una ventaja y es que es muy flexible, y tambien tiene un gran cantidad de modulos ya escritos.
Bien escritos los scripts en Perl se asemejan bastante a PHP. La principal causa de la sucía apariencia de Perl es por la afición de sus desarrolladores a la escritura en “una línea” empaquetanto numerosas funcionalidades en una sola línea de código. leer más
¿Por qué deberías aprenderlo?
La potencía de Perl a la hora de procesar grandes cantidades de datos lo hace realmente popular a la hora de desarrollar aplicaciones del lado del servidor, aprender Perl o Php es básico a la hora de desarrollar aplicaciones Web.
6.C/C++
¿Qué es?
Es un lenguaje de “medio nivel” pero con numerosas características de bajo nivel.
Dispone de las estructuras típicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel.
¿Por qué deberías aprenderlo?
Aprender C es básico mientras aprendes C estas aprendiendo conceptos básicos de lenguajes cómo Java o C#, además no sólo es mas sencillo que estos últimos sino que comporten gran parte de su sintaxis.
7.Ruby y Ruby on Rails
¿Qué es?
Ruby on Rails, también conocido como RoR o Rails es un framework de aplicaciones web de código abierto escrito en el lenguaje de programación Ruby.
Ruby apareció en el año 1995 y creo que su principal problema había sido
la falta de documentación en otro idioma que no sea japonés. Eso se ha ido
solucionando y crece la popularidad del lenguaje. Su aplicación insignia,
por decirlo de algún modo parece ser RoR. Su mecanismo de gem se me parece
al CPAN de Perl y al Pear de PHP. leer más
¿Por qué deberías aprenderlo?
Simple y funcional, el uso de Active Record de forma eficiente simplifica y agiliza el desarrollo de forma notable. Al minimizar el trabajo con la base de datos (escribiendo triggers y procedimientos almacenados) y emplear un único lenguaje para todo el desarrollo, se consigue acortar los tiempos de desarrollo (time2market).
8.ASP
¿Qué es?
Active Server Pages (ASP) y ASP.NET es un intendo de Microsoft para introducirse en el mercado del desarrollo Web, y viene a ser como su estandar para su servidor Web, ISS. Asp ha sido atacado por la comunidad open source desde que este apareció, y dan numerosas razones para ello:
El propietario, una única plataforma, la lentitud…
Me gustaría decir “Si, si, y si”, pero no me debo dejar llevar. La realidad es que ASP ha sido implementado en otras plataformas y que cuando esta funcionando bajo su servidor predeterminado IIS es relativamente rápido. leer más
¿Por qué deberías aprenderlo?
Simplemente porqué en algunas ocasiones no tienes otra opción debido a la popularidad que ha alcanzado.
Fuente : genial entrada extraida y retocada levemente desde Robextrem
Para todos aquellos/as que estudian ingenieria (sea la rama que sea) seguro que este video les resulta familiar y es que, se estudie donde se estudie, en las “escuelas técnicas y superiores de ingenieria….” todos/as nos hemos visto en situaciones muy parecidas a esta y ahora que se acercan los examenes de febrero y estamos un poquito tensos/as que mejor que tomarnoslo con humor. Por mi parte felicitar a estos estudiantes de Ingenieria de Sevilla por el pedazo de representación y desearos muchísima suerte a todos/as los que tengáis examenes ahora en Febrero.
PD: Si algún profesor “cabroncete” nos lee por casualidad, espero que este video le toque la fibra sensible y este año se porte un poquito mejor.
La verdad es que me ha sorprendido gratamente la conferencia, más incluso de lo que esperaba. Richard Stallman es un cachondo el tio. La conferencia trataba principalmente sobre El mundo del Software Libre y el Sistema Operativo GNU - Linux.
Os resumo un poco:
CONTENIDO DE LA CONFERENCIA: Richard Stallman hablará sobre las metas y la filosofía del movimiento del Software Libre, así como sobre el estado y la historia del sistema operativo GNU, el cual, junto con el núcleo Linux, es utilizado actualmente por decenas de millones de usuarios/as en todo el mundo.
BREVE BIOGRAFÍA DE RICHARD STALLMAN: Richard Stallman lanzó el desarrollo del sistema operativo GNU en 1984. GNU es software libre: todo el mundo es libre de copiarlo y distribuirlo, así como también de realizar cambios grandes o pequeños. El sistema GNU/Linux, básicamente el sistema operativo GNU con Linux agregado, es usado en decenas de millones de computadoras hoy día. Stallman ha recibido el premio “La tolva de la tolerancia de ACM” (ACM Grace Hopper Award), una beca de la Fundación MacArthur, el premio “Pionero” de la Fundación Frontera Electrónica, y el “Premio Takeda” por Mejora Social/Económica, así como varios doctorados honoris causa.
Para empezar, antes de contaros nada, deciros que Stallman es todo un personaje y durante las dos horas y media de conferencia no han faltado los toques de humor (como cuando pidió permiso para volver a ponerse los zapatos porque tenía frio, normal si te pones a andar descalzo o cuando confesó que debía hablar despierto porque sino se dormiría, o varios tirones de orejas a los señores Bush y Aznar).
Durante la conferencia, la verdad es que me hicieron reflexionar mucho las palabras del padre del software libre y la importancia de la libertad en este mundo virtual en el que nos movemos día a día. Desde luego, es importante darnos cuenta que el mundo de los sistemas operativos no tiene porque ser como nos lo venden desde críos y que debemos ser capaces de saber valorar nuestra libertad a la hora de conocer qué y cómo hacen nuestros programas, comentando cosas como el DRM, SGAE y el canon, etc etc y señalando con el dedo a Apple, Microsoft, Sony, Amazon,….
Se habló sobre las diferencias entre OpenSource y Software Libre y sobre los orígenes del proyecto GNU, y debo confensar que en este sentido tenía las ideas un poco mezcladas. GNU surgió como necesidad de Stallman para sentirse libre, sin tener que estar usando ningún tipo de Software privativo, de manera que comenzo a desarrollar los módulos con las interfaces de UNIX bajo la licencia de GPL, también creada por Stallman.
Lógicamente era un proyecto desbordante para un equipo de programadores de la época y no se llegó a desarrollar todos los módulos en un principio…. y entonces ¿Qúe pinta Linus Torvalds en todo esto?
Bueno Linus, como proyecto de fin de carrera, desarrollo el Kernel o núcleo que posteriormente se implantaría como módulo del Sistema GNU. Digo posteriormente porque en 1991 Linux no estaba constituido bajo la licencia de Software Libre, no fue hasta el año siguiente en que se lanzo Linux bajo GPL y cuando se empezaría a implantar en GNU.
De todas formas, una de las cosas más chocantes que señalo Stallman es que la mentalidad de Linus no está de acuerdo con la del propio Stallman y la comunidad de Software Libre. Stallman apuntó a Linus como “una persona con la mentalidad del Ingeniero: Busca un buen software, en el sentido de un software que se comporte bien y sea estable”, pero no busca un software democrático para la comunidad.
De hecho destacó ciertos aspectos del kernel de Linux que ni siquiera son Software Libre, como por ejemplo el tema de ciertos Firmwares para algunos dispositivos, los cuales aparecen codificados como vectores numéricos y que privan al usuario de su libertad (en concreto se habló en todo momento de los 4 niveles de Libertad informática).
Francamente, en las palabras de Stallman acerca de Linus se podían notar ciertas asperezas entre ambos. De hecho, pidió un favor a la gente, dado que no podemos definir la ideología de Software Libre en un minuto, al menos no confudir conceptos y digais Linux como sistema operativo cuando realmente se trata de GNU con linux.
El duo dinámico: GNU-Linux
No quiero tampoco hacer de este post una redacción de la conferencia, pero de veras si tenéis oportunidad de verlo en alguna ocasión, id.
Especialmente interesante estuvo su reflexión acerca de Window$ Vi$ta y nos comentó un movimiento para que por lo menos, la gente que use Software Privativo, no empeore su libertad usando el último producto de Window$, donde se abusa de vigilancia al usuario, la web del movimiento es bad-vista.org.
Sin duda, uno de los mejores momentos, sino el mejor, fue cuando Stallman, como ya es costumbre en sus apariciones en público se convirtió en San Ignucio (Saint Ignucius), es el nombre de un personaje que, a manera de broma, interpreta Richard Stallman.
El origen de este personaje lo podemos encontrar en el carácter “evangelizador” de Stallman, predicando las bondades del software libre y haciendo frecuentes analogías entre este movimiento y una religión. Para su interpretación suele vestirse con una túnica negra, colocarse en la cabeza el plato de un antiguo disco rígido, a modo de aureola dorada, y sostener su computadora portátil que asegura sólo contiene software libre.
Aqui os dejo un video grabado por nevermind del momentazo (es buenísimo!):
Poco más que deciros, quizás importante la mención que se hizo sobre la importancia de usar Software Libre en los colegios. Situación que afecta a la sociedad terriblemente en USA, donde Stallman comparaba el uso de Sistemas Privativos como si se tratase de un regalo de drogas adictivas a los chavales, a los cuales se les imponía de manera dictatorial el uso de Software Privativo y por extensión se realizaba esta imposición incluso a las empresas del país.
Se habló también de las mejoras que aportaría el Software Libre a las empresas y de como afectaría de cara a la demanda laboral. Todo un debate.
Aqui os dejo algunas fotos de la jornada:
PD I - Stallman estuvo durante toda la conferencia con una lata de Pepsi (no sabría deciros si de 33cl o más bien de 3000cl) y luego en las preguntas nos comentó por que no bebe coca-cola
PD II - En la jornada también se encontraban los compañeros de Guadalinex, los cuales hicieron un pequeño “concurso/cuestionario” y regalaban cositas (yo me llevé dos pingüiniños de Guadalinex, una camiseta y unos cuantos CD´s )
ViKToR, R.Stallman y Nevermind. Si si, Stallman estaba descalzo!
Puedes encontrar esta y otras fotos a mayor resolución en utopiaverde.org
PD III - Stalman se enrrolló bastante con la gente, regalando pegatinas, ejem ejem (yo quizás me llevé alguna más de la cuenta), firmando (y vendiendo) libros y algunas cositas más. Luego pudimos hacernos una foto con él.
1. Java es todo lo que necesitas.
No ves la necesidad de usar ningún otro lenguaje, ¿por qué no se puede hacer todo con Java? No te importa ver código en Python o Ruby que logra en 10 lineas lo que llevaría varias hojas de código Java. Además, seguramente las nuevas características de la próxima versión del lenguaje lo arreglaran de todas formas. (Esto es aplicable a casi cualquier lenguaje, pero ocurre que entre la comunidad Java parece estar más extendida esta forma de pensar)
2. El término “enterprisey” (NT: se trata de un término sarcástico utilizado para designar productos complejos más allá de lo necesario) no te suena a broma.
“Enterprise” no es sólo una palabra, es una filosofía, una forma de vida, un camino a la iluminación. Cualquier cosa que pueda ser escrita, desplegada o actualizada con un trabajo mínimo es descartada como un juguete que no “escalará” para futuros usos. Mientras tanto la mayor parte del trabajo real en tu oficina se hace enviando hojas de cálculo en Excel mientras esperan a que termines de construir tu nueva visión corporativa. 3.Te opones férreamente a las funciones/métodos de más de 20 líneas de código.
(o 30 o 10 o cualquier otro número) Lo siento, algunas veces una función larga es justamente lo que necesitas. Normalmente las funciones cortas son más sencillas de entender, pero algunas veces se pueden expresar más fácilmente en una sola función más larga. El código no debería hacerse más complejo sólo para adecuarse a criterios arbitrarios.
4. “¡OH DIOS MÍO! ¡PATRONES!”
Los desarrolladores que buscan constantemente la forma de aplicar patrones a cualquier problema de código con el que se encuentran están añadiendo una complejidad innecesaria. Lejos de ser algo que busques, deberías sentirte mal cada vez que tienes que utilizar un patrón de diseño, significa que estás escribiendo código que hace las cosas más complicadas y que puede ser de dudosa utilidad. Pero, ¡ey!, tu código tiene patrones, bien por ti.
5. Los ciclos de CPU son un recurso precioso y tu estilo de programación y lenguaje reflejan esas creencias.
Hay montones de problemas en los que tienes que tener muy en cuenta el consumo de CPU (modelado/simulación, procesado de señales, kernels de sistemas operativos, etc), pero no es tu caso. Para la mayor parte de los desarrolladores de software sus principales problemas de rendimiento están relacionados con las bases de datos y la entrada/salida. El único efecto de optimizar tu código para mejorar el uso de CPU será disminuir en 2 milisegundos el tiempo necesario para la próxima consulta a la base de datos. Mientras tanto el desarrollo de la aplicación se hace más lento, no puedes hacer frente a los nuevos requerimientos y te encuentras con problemas serios de calidad. Pero al menos estás ahorrándote montones de ciclos de CPU… eventualmente.
6. Piensas que ninguna función/método debería tener más de un return.
Esta la he oído alguna que otra vez, y normalmente la razón que me dan es que el código es más sencillo de analizar. ¿Según quién? Yo encuentro más fácil de leer un código más simple, y normalmente el tener más de un return simplifica el código.
7. Tus usuarios son estúpidos. Realmente estúpidos.
Simplemente no puedes creer lo estúpidos que son, olvidándose constantemente de hacer las cosas más sencillas del mundo y cometiendo errores tontos al usar tu aplicación. Nunca has considerado que quizás es tu aplicación la que es estúpida porque eres incapaz de escribir software decente.
8. Te enorgulleces enormemente del gran volumen de código que escribes.
Ser productivo es bueno, desafortunadamente escribir montones de líneas de código no es lo mismo que ser productivo. Los usuarios nunca comentan “Guau, este programa puede ser difícil de usar y estar lleno de errores, pero al menos sé que hay un montón de código por debajo.” En lugar de ser productivo, generar toneladas de mal código retrasa a los demás desarrolladores y en el futuro su mantenimiento constituirá una pesada carga.
9. Copiar y pegar es genial, te ayuda a escribir código desacoplado.
Defiendes tu uso del copy paste con extraños argumentos sobre desacoplar código y eliminar dependencias, mientras ignoras el aumento del tiempo de mantenimiento y los problemas de duplicación de errores. A esto se le llama “racionalizar tus acciones”.
10. Piensas que la gestión de errores consiste en capturar todas las excepciones, registrarlas, y continuar como si nada.
Eso no es gestionar errores, eso es ignorar errores y es el equivalente semántico al “on error next” de VB. Sólo porque hayas registrado el error en algún sitio no significa que lo estés tratando. Tratar errores es algo duro. Si no sabes qué hacer exactamente cuando te encuentras con un cierto error, simplemente deja que la excepción se propague y que un nivel más alto del código lo trate.
11. Modelas todo tu código en UML antes de escribirlo.
El modelado entusiasta de UML se lleva a cabo normalmente por aquellos que no escriben demasiado código, sino que se consideran arquitectos de software. Las herramientas de modelado atraen más a aquellos que piensan que el código se puede escribir en una sala de conferencias manipulando pequeños gráficos. Los gráficos no son el diseño, y nunca serán el diseño, para eso está el código.
12. Tu código borra datos importantes.
Escribiste un cierto código que se supone que debe sobrescribir los archivos de la aplicación con otros nuevos, pero se vuelve loco y borra todos los datos del usuario.