Pesadilla en la oficina

(0 comentarios)

Clases con 6000 líneas de código, servicios web que devuelven un JSON dentro de un XML y commits de 4000 líneas con 1 único test. Si eres de los que “Pesadilla en la cocina” le quitó las ganas de comer fuera, espera a ver esta parodia del día a día de una empresa de desarrollo de software.

Y si quieres saber la diferencia entre covariancia y contravariancia: Los 10 libros que todo programador debería leer, sin excusas

Cómo mejorar tu productivad con NetBeans en un 200%

(3 comentarios)

Decía Larry Wall, el creador de Perl, que las tres virtudes principales de un programador son la pereza, la impaciencia y el orgullo desmedido. Pereza e impaciencia suficientes para querer invertir una gran cantidad de tiempo y esfuerzo en minimizar tareas repetitivas. Y de eso es de lo que vamos a hablar hoy.

[Pulsa para continuar]

Limpiar el baño

(9 comentarios)

Comentar tu código es como limpiar el cuarto de baño. Nunca quieres hacerlo, pero resulta en una experiencia más agradable para ti y para todos tus invitados.

~ Ryan Campbell

Variables globales

(31 comentarios)

Una de las primeras cosas que se aprende al empezar a programar es que las variables globales son malvadas. Son casi tan despreciables como el infame goto, y (casi) nunca existen razones justificadas para utilizarlas. Martin Fowler lo expresa muy bien en su “Patterns of Enterprise Application Architecture” cuando dice que “cualquier variable global es siempre culpable hasta que se demuestre lo contrario”. Pero, ¿por qué son tan odiadas las variables globales? ¿realmente son perjudiciales? ¿o se trata sólo de un odio irracional por parte de los puristas?

[Pulsa para continuar]

Clean Code

(9 comentarios)

Clean CodeClean Code
Calificación:
Autor: Robert C. Martin
Año: 2008
Editorial: Prentice Hall

No me gusta recurrir a los argumentos de autoridad, pero creo que es conveniente comenzar esta reseña explicando que el autor principal del libro del que os hablo hoy, Clean Code, o Código Limpio, es Robert C. Martin, a.k.a Uncle Bob, experto en desarrollo de software, miembro fundador de la Agile Alliance, primer presidente de la asociación y coautor del Manifiesto Ágil. Hechas las presentaciones, pasemos a hablar del libro.

[Pulsa para continuar]

Espaguetis, lasañas, y otras pastas italianas

(8 comentarios)

Quizás hayas oído hablar alguna vez del código espagueti, un nombre peyorativo utilizado para designar aquellos programas cuyo flujo de ejecución se asemeja a una caótica maraña de espaguetis entrelazados, convirtiéndolo en algo casi imposible de seguir. Pues aunque el código espagueti sea el más conocido, a lo largo de los años se ha desarrollado toda una “Teoría de la Pasta Aplicada al Desarrollo de Software”, que toma prestado los nombres de varios tipos de pasta: ravioli, lasaña, y espaguetis con albóndigas. ¿He despertado tu apetito? ¡Pues sigue leyendo!

[Pulsa para continuar]

Katas de código

(18 comentarios)
Katas de código

Si alguna vez practicaste kárate o judo estarás familiarizado con el concepto de kata (型 ó 形), término japonés que significa literalmente “forma”, y que designa conjuntos de movimientos prefijados que se utilizan para aprender y practicar diversas técnicas, así como para mejorar la precisión, la fluidez o la velocidad con las que estas se ejecutan. El kata Heian Shodan del estilo Shotokan, por ejemplo, uno de los primeros que aprende un estudiante, permite practicar algunas de las técnicas más elementales del kárate, como giros, desplazamientos y golpes de puño.

[Pulsa para continuar]

Ofuscar código Java

(31 comentarios)

Asumámoslo: es imposible proteger al 100% nuestro código de miradas indiscretas. Pero eso no implica que no podamos dificultar un poco el proceso de decompilar nuestro código. Y este es el objetivo de los ofuscadores de código.

Un ejemplo de este tipo de herramientas es la aplicación GPL ProGuard que permite, además de ofuscar nuestras clases Java, optimizarlas, comprimirlas y añadirles información de preverificación, de forma que la carga de las clases en Java SE 6 y Java ME 6 sea más rápida y más eficiente.

La herramienta funciona buscando primeramente clases, campos, métodos y atributos no utilizados, los cuáles elimina; pasa entonces a optimizar el bytecode y eliminar instrucciones innecesarias; y, por último, elimina la información de depuración y renombra las clases, campos y métodos restantes utilizando nombres cortos y poco legibles.

Mejora tu código Java con PMD

(13 comentarios)

PMD es una herramienta que comprueba que nuestra aplicación cumpla una serie de reglas que nos ayudan a obtener un código más elegante, sencillo y mantenible. Estas reglas se agrupan por conjuntos y pueden ser reglas de complejidad, como que la complejidad ciclomática no sea demasiado alta; de diseño, como no usar interfaces como meros contenedores de constantes; de optimización, como procurar usar ArrayList en lugar de Vector; etc.

PMD se puede utilizar desde linea de comandos, o puede integrarse con multitud de IDEs y herramientas, como Eclipse, NetBeans, Maven o JEdit. Y aunque algunos de los casos que comprueba PMD ya se tengan en cuenta en Eclipse, sigue siendo una utilidad muy interesante para añadir a nuestra caja de herramientas.

[Pulsa para continuar]

Eclipse y estándares de código

(11 comentarios)

Si sueles trabajar en equipo a la hora de programar, e incluso si no es el caso, puede ser interesante establecer unos estándares a seguir a la hora de escribir el código. Para asegurarnos de que estas reglas se siguen se puede utilizar, por ejemplo, Checkstyle, que se integra en Eclipse a través del plugin del mismo nombre.

La forma más sencilla de instalar este plugin es utilizar el sistema de actualizaciones de software de Eclipse. En el diálogo Help -> Software updates -> Available Software -> Add Site introducimos la URL desde la que instalar el plugin, “http://eclipse-cs.sourceforge.net/update”, marcamos nuestra nueva fuente y seleccionamos Install.

[Pulsa para continuar]

Página 1 de 212