lunes, 2 de julio de 2012

Pornografia en Android

Es innegable que a casi todos los que nos dedicamos a esto del desarrollo de software nos gusta demasiado la pornografía. Nos gustan las cosas explícitas, directas, sin preámbulos. No tenemos tiempo que perder en historias, queremos acción. Por supuesto, no me refiero a este tipo de pornografía, aunque también habrá a quién le guste, sino a la pornografía de código fuente.

Sentimos una curiosidad natural por el código. Eso es bueno y natural. Tratar de entender cómo funcionan las cosas es una de las características innatas del ser humano (al menos de algunos) y en nuestro caso eso pasa por ver el código fuente.

Leer código fuente es una parte importante de nuestra formación como desarrolladores, especialmente cuando se trata de código fuente de otros. Eso nos permite comprender cómo hacer las cosas, aprender nuevas técnicas y adquirir nuevas ideas.

El problema es que a veces queremos demasiada inmediatez, nos saltamos todos los preliminares y vamos directamente al grano, es decir, al código. Nos perdemos la historia y, con ella, el contexto.
A veces el código por si mismo no vale de mucho. Sin comprender las motivaciones que hay detrás de ese código, sin entender el contexto en que está escrito, los problemas que trata de solucionar y la forma en que lo hace, podemos acabar usándolo de forma incorrecta y meternos en líos que luego pueden ser difíciles de resolver.

Esto se hace especialmente patente cuando tratamos de aplicar metodologías de diseño o arquitecturas novedosas, que están de moda, suenan muy bien y creemos que son la forma de hacer las cosas bien. Todas esas siglas que nos encantan: DDD, CQRS/ES, ORMs, IoC… al final nos pasamos más tiempo hablando de código que entendiendo cuándo y porqué se debe usar cada cosa.
Muchas veces al intentar explicar TDD, BDD o cualquier otra técnica empezamos por describir la librería de turno, por enseñar el código que debemos escribir para emplear esas técnicas, en lugar de empezar… por el principio. Es necesario empezar explicando los problemas que pretenden solucionar, los principios en que se basan, las ventajas que aportan.


Una vez comprendido el contexto, el código viene sólo. Seamos realistas, la mayoría del código que escribimos en nuestro día a día es muy simple. La complejidad está en la interactuación de las distintas partes del código, ya sean clases, funciones o lo que sea que use el lenguaje en el que estes programando. El porqué de esa organización es complicado de apreciar sólo leyendo el código.

La próxima vez que vayan a copiar código que hayas visto por ahí, intenta antes entender para qué se escribió y porqué se escribió así. Date un respiro, no hace falta ir al grano directamente. A veces una película con un poco de guión puede resultar más satisfactoria que una que se salta todo para ir directamente a la acción. Como dice el tagline que puse en este blog desde el primer día, el código importa, pero el contexto más.
Fuente: http://blog.koalite.com/

No hay comentarios:

Publicar un comentario