Manifiesto por la Artesanía del Software

(9 comentarios)

Si sueles leer libros sobre programación de forma habitual, seguramente hayas oído hablar alguna vez de las metodologías ágiles, tales como Scrum o eXtreme Programming, así como del Manifiesto por el Desarrollo Ágil de Software, que resume este rompedor modo de ver el proceso de desarrollo de software.

Lo que no es tan habitual es conocer la existencia de otro movimiento relacionado, resumido en el Manifiesto por la Artesanía del Software, y cuyos orígenes podemos encontrar en uno de mis libros favoritos de cabecera, “The Pragmatic Programmer“, ya recomendado en 10 libros míticos sobre programación que todo desarrollador debería leer.

Para aquellos que estéis interesados, a continuación tenéis mi pequeña traducción. Si os sentís identificados con este manifiesto y queréis firmarlo, podéis hacerlo en su página web.

[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]

12 meses, 12 katas

(4 comentarios)

A raíz del artículo Katas de código, katero nos recomienda la iniciativa 12 meses, 12 katas. Ya no tienes excusa para no practicar, aunque no tengas un dojo cerca.

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]

Si Visual Studio tuviera logros…

(37 comentarios)

Los logros no son una novedad en el mundo de los videojuegos. Han existido casi desde sus inicios, de una u otra forma, y con uno u otro nombre. Sin embargo, los sistemas de logros no se popularizaron realmente hasta que Microsoft lanzó su segunda consola de sobremesa, Xbox 360, a finales de 2005.

Pero, ¿qué habría pasado si Microsoft hubiera decidido no limitar los logros a los videojuegos? ¿Y si hubieran extendido este invento a la próxima versión de su IDE, por ejemplo? En While true han intentado imaginar esta curiosa realidad paralela, o quizás futuro próximo, con un poco de suerte. Aquí tenéis alguno de los logros que más me han gustado, aunque muchos sean premios a las malas prácticas.

[Pulsa para continuar]

El Paamayim nekudotayim de PHP

(10 comentarios)

No, este título tan raro no es producto de un deface de algún hacker indio. Es hebreo (פעמיים נקודתיים), significa doble dos puntos, y es el nombre que recibe el token utilizado por el analizador léxico y el analizador sintáctico de PHP para representar el operador de resolución de ámbito del lenguaje (::), un operador que se utiliza para acceder a miembros estáticos de una clase, y a propiedades y métodos que han sido sobreescritos por una clase al heredar de otra.

“¿Y por qué hebreo?”, se preguntará alguno. El motivo es sencillo, y es que, como ya vimos en Una no tan breve historia de PHP, Zeev Suraski y Andi Gutmans, los dos programadores que crearon el Zend Engine, son ambos israelíes.

[Pulsa para continuar]

Lecturas para la semana

(12 comentarios)

Greg Hewgill ha recopilado algunas de las mejores preguntas de Stack Overflow por categoría en varios libros en formato mobi, perfectos para leer en el Kindle, Hanlin V3, Samsung Galaxy Tab o iPad. En concreto son 58 libros, que van desde .NET a AJAX, pasando por Perl, Python, PHP o MySQL. Ya tienes deberes para toda la semana 😉

Libros con las preguntas de Stack Overflow

Programar o pensar

(20 comentarios)

Piensa dos veces antes de empezar a programar, o terminarás programando dos veces antes de empezar a pensar.

— Anónimo

Trunk, branch y tag

(14 comentarios)

Trunk, branch y tag son tres de los conceptos principales a manejar a la hora de utilizar un sistema de control de versiones, como CVS, Subversion, Git o Mercurial. A continuación tenéis una pequeña definición de estos tres términos.

  • Trunk (tronco): la línea principal de desarrollo, donde se llevan a cabo los cambios menos complejos del día a día. Idealmente debería poder compilarse y pasar todas las pruebas en todo momento (ver Integración continua). La persona que rompa la compilación, debe ser públicamente humillada, y debe pagar una penitencia en donuts
  • Branch (rama): cuando se van a llevar a cabo cambios importantes que romperán la compilación, pruebas, experimentos o intentos de optimización, debe crearse una nueva rama de desarrollo, con la que no molestemos a los compañeros, esto es un branch: una copia del código o la rama de la que deriva. En esta copia haremos nuestros cambios, integraremos los arreglos que puedan haberse ido haciendo en el trunk, y, una vez terminado el desarrollo en la rama, integraremos (o no) los cambios en el trunk. También puede crearse una rama para una versión terminada, hacer mantenimiento de esta versión sobre esta rama, y continuar el desarrollo de la nueva versión en el trunk.
  • Tag (etiqueta): etiquetas que sirven para identificar un cierto momento en el desarrollo que queremos preservar. Se utilizan habitualmente para marcar cambios de versión (alfas, betas, RC, RTM) y puntos de interés. Sobre un tag no se puede / no se debe hacer cambios
Página 4 de 9« Primero...23456...Último »