Depuración de patito de goma

(26 comentarios)

Aunque puede parecer extraño, detrás de este nombre tan simpático se esconde una técnica de depuración de lo más efectiva, sencilla y divertida, aunque no muy recomendable si ya cuentas con cierta fama de excéntrico entre tus conocidos.

Depuración de patito de goma

[Pulsa para continuar]

El Michael Phelps de la programación

(6 comentarios)

Probablemente no hayas oido hablar nunca de él, pero si la programación fuera un deporte olímpico, seguramente Petr Mitrichev sería nuestro equivalente a un Michael Phelps o un Usain Bolt. Este desarrollador ruso de 27 años, que trabaja actualmente para Google, domina desde hace más de un lustro el mundo de la programación de competición; torneos en los que se puede llegar a ganar hasta 25.000 dólares por un primer puesto.

Si queréis saber más de este fenómeno, que ganó su primera competición oficial con sólo 15 años, no dudéis en echar un vistazo a la reseña que hacen de él en el Technology Review del MIT (vía Slashdot).

Symfony y FirePHP

(6 comentarios)

Si quieres utilizar FirePHP para hacer log de mensajes o variables en la consola de Firebug y utilizas Symfony como framework, no tienes más que escribir lo siguiente en tu controlador, sin necesidad de descargar ninguna librería o bundle extra ni tocar una sola línea de configuración:

[Pulsa para continuar]

Los secretos más íntimos de las aplicaciones Metro

(6 comentarios)

El código de las aplicaciones Metro de Windows 8 es mucho más público de lo que algunos desarrolladores podrían pensar. Podemos ver un listado de todas las aplicaciones que tenemos instaladas para el perfil de usuario actual y la carpeta en que estas se encuentran usando el cmdlet Get-AppxPackage de la PowerShell; en la pantalla de inicio escribimos powershell para buscar la aplicación, hacemos clic sobre su icono para lanzarla y escribimos el comando

[Pulsa para continuar]

La Regla del Boy Scout

(13 comentarios)

A menos que seamos extremadamente cuidadosos la entropía siempre hará que la calidad del software se degrade con el tiempo. Quizás pensemos que tenemos cosas más importantes que hacer que modificar esta clase o esta función y salgamos del paso con un pequeño hack. Es posible que no recordemos muy bien cómo funcionaba el sistema, y que añadamos complejidad innecesaria con nuestros cambios. O que el código nos cause tal sentimiento de repulsión, que no nos importe ejercer un cierto vandalismo casi deliberado contra él.

[Pulsa para continuar]

Iteradores en PHP

(7 comentarios)

Iterador es uno de los patrones de diseño más conocidos, gracias al uso que hacen de él distintos lenguajes de programación, como Python, Java, C++ o el propio PHP. Básicamente, lo que propone este patrón es trasladar la responsabilidad de recorrer una colección a una clase nueva, que debe utilizar una interfaz estándar definida en una clase abstracta o una interfaz, de forma que se pueda recorrer de forma similar tuplas de la base de datos, nodos de un documento XML, elementos de un array, o cualquier otro tipo de colección que se nos ocurra.

Para crear nuestro iterador en PHP tenemos que / podemos implementar la interfaz Iterator. Esto nos permitirá recorrer nuestra colección utilizando un foreach, por ejemplo. La interfaz Iterator declara los siguientes métodos:

[Pulsa para continuar]

Principios de diseño: fan-in y fan-out

(17 comentarios)

Fan-in (abanico de entrada) es un término utilizado en la Ingeniería del Software para referirse al número de clases que hacen uso de la clase que estamos estudiando. Por otro lado, fan-out (abanico de salida) hace referencia al número de clases que utiliza la clase que estamos estudiando. Estos conceptos, originarios de la electrónica digital, también pueden utilizarse en el resto de niveles del diseño conceptual, para hablar de subsistemas, paquetes o funciones.

Un buen diseño suele tener un fan-in alto, porque eso implica que estamos reutilizando código que de otra forma habría dado lugar a duplicidades en multitud de clases. El fan-in es una medida de reutilización.

Al contrario, un buen diseño cuenta con un fan-out bajo, idealmente de 7±2, que es, según George Miller, uno de los mayores exponentes de la psicología cognitiva, el número máximo de elementos que una persona normal puede almacenar en su memoria a corto plazo. Con un fan-out bajo nos aseguramos de que la clase es lo bastante sencilla para que no nos resulte difícil trabajar con ella. El fan-out es una medida de complejidad, muy relacionado con el Principio de Responsabilidad Única.

Cómo desactivar la inspección de elementos nativa de Firefox

(10 comentarios)

Desde hace ya un tiempo Firefox viene incorporando una serie de herramientas destinadas a ayudar a los desarrolladores web que, aunque no son terriblemente malas, si son sensiblemente inferiores a otras alternativas como Firebug. Al menos por ahora.

Es particularmente desesperante el intentar inspeccionar un elemento de una página web utilizando Firebug (menú contextual “Inspeccionar elemento con Firebug”) y acabar seleccionando por error la herramienta nativa del navegador (menú contextual “Inspeccionar elemento”). Si a ti también te ha ocurrido, porque es posible que, simplemente, yo sea demasiado caprichoso y peculiar, puedes configurar el que este menú no se vuelva a mostrar escribiendo en la barra de direcciones about:config, buscando la preferencia devtools.inspector.enabled y cambiando su valor a false.

Ahorra tiempo y dinero con la Ingeniería del Software

(5 comentarios)

Estos últimos días estoy leyendo por enésima vez Code Complete, mi libro preferido sobre desarrollo de software, y el de mucha más gente. A este libro pertenece esta tabla, basada en diversos estudios, que ejemplifica el coste medio de arreglar un error durante el proceso de desarrollo de software según la etapa en que se introdujo y la etapa en que se terminó solucionando.

Coste Etapa en que se detectó
Requisitos Arquitectura Construcción Pruebas Mantenimiento
Etapa en que se introdujo Requisitos 1 3x 5-10x 10x 10-100x
Arquitectura - 1 10x 15x 25-100x
Construcción - - 1x 10x 10-25x

[Pulsa para continuar]

Cut the Rope gratis en HTML5

(13 comentarios)

El mejor juego para dispositivos móviles de 2011 según los premios BAFTA y los Game Developers Choice Awards 2011. Gratis. En HTML 5. Para jugar en tu navegador web. Microsoft ha hecho algunas cosas bastante discutibles en el terreno del desarrollo web a lo largo de los años, pero los esfuerzos que están haciendo últimamente casi lo compensan…

Cut the Rope en HTML 5

Si te interesa el desarrollo web, no dejes de leer también el cómo se hizo. Es realmente inspirador.

Página 1 de 812345...Último »