13.01.2015 Views

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

Pensar en C++ (Volumen 1) - Grupo ARCO

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

✐<br />

✐<br />

✐<br />

“Volum<strong>en</strong>1” — 2012/1/12 — 13:52 — page 29 — #67<br />

✐<br />

1.10. Programación Extrema<br />

tiempo de ejecución del sistema) que verifica el programa completo. Y, del mismo<br />

modo que ti<strong>en</strong>e un compilador vigilando por <strong>en</strong>cima de su hombro, ¿no querría que<br />

estas pruebas le ayudaran desde el principio Por eso se escrib<strong>en</strong> primero, y se ejecutan<br />

automáticam<strong>en</strong>te con cada construcción del sistema. Sus pruebas se conviert<strong>en</strong><br />

<strong>en</strong> una ext<strong>en</strong>sión de la red de seguridad proporcionada por el l<strong>en</strong>guaje.<br />

Una de las cosas que he descubierto sobre el uso de l<strong>en</strong>guajes de programación<br />

cada vez más poderosos es que estoy dispuesto a probar experim<strong>en</strong>tos más descarados,<br />

porque sé que el l<strong>en</strong>guaje me ahorra la pérdida de tiempo que supone estar<br />

persigui<strong>en</strong>do errores. El esquema de pruebas de XP hace lo mismo para el proyecto<br />

completo. Como el programador conoce sus pruebas siempre cazará cualquier problema<br />

que introduzca (y regularm<strong>en</strong>te se añadirán nuevas pruebas), puede hacer<br />

grandes cambios cuando lo necesite sin preocuparse de causar un completo desastre.<br />

Eso es increíblem<strong>en</strong>te poderoso.<br />

1.10.2. Programación <strong>en</strong> parejas<br />

Programar <strong>en</strong> parejas va <strong>en</strong> contra del duro individualismo <strong>en</strong> el que hemos sido<br />

adoctrinados desde el principio, a través de la facultad (donde triunfábamos o<br />

fracasábamos por nosotros mismos, y trabajar con nuestros vecinos se consideraba<br />

«<strong>en</strong>gañoso») y los medios de comunicación, especialm<strong>en</strong>te las películas de Hollywood<br />

donde el héroe normalm<strong>en</strong>te lucha contra la estúpida conformidad 17 . Los<br />

programadores también se consideran dechados de individualismo -«cowboy coders»<br />

como le gusta decir a Larry Constantine. XP, que es <strong>en</strong> si mismo una batalla<br />

contra el p<strong>en</strong>sami<strong>en</strong>to conv<strong>en</strong>cional, dice que el código debería ser escrito por dos<br />

personas por estación de trabajo. Y eso se puede hacer <strong>en</strong> una área con un grupo de<br />

estaciones de trabajo, sin las barreras a las que la g<strong>en</strong>te de diseño de infraestructuras<br />

ti<strong>en</strong>e tanto cariño. De hecho, Beck dice que la primera tarea de pasarse a XP es llegar<br />

con destornilladores y llaves All<strong>en</strong> y desmontar todas esas barreras 18 . (Esto requerirá<br />

un director que pueda afrontar la ira del departam<strong>en</strong>to de infraestructuras).<br />

El valor de la programación <strong>en</strong> parejas está <strong>en</strong> que mi<strong>en</strong>tras una persona escribe<br />

el código la otra está p<strong>en</strong>sando. El p<strong>en</strong>sador manti<strong>en</strong>e un visión global <strong>en</strong> su cabeza,<br />

no sólo la imag<strong>en</strong> del problema concreto, también las pautas de XP. Si dos personas<br />

están trabajando, es m<strong>en</strong>os probable que uno de ellos acabe dici<strong>en</strong>do, «No quiero<br />

escribir las pruebas primero», por ejemplo. Y si el programador se atasca, pued<strong>en</strong><br />

cambiar los papeles. Si ambos se atascan, sus p<strong>en</strong>sami<strong>en</strong>tos pued<strong>en</strong> ser escuchados<br />

por otro <strong>en</strong> el área de trabajo que puede contribuir. Trabajar <strong>en</strong> parejas manti<strong>en</strong>e las<br />

cosas <strong>en</strong> movimi<strong>en</strong>to y sobre la pista. Y probablem<strong>en</strong>te más importante, hace que la<br />

programación sea mucho más social y divertida.<br />

He empezado a usar programación <strong>en</strong> parejas durante los periodos de ejercicio<br />

<strong>en</strong> algunos de mis seminarios y parece mejorar considerablem<strong>en</strong>te la experi<strong>en</strong>cia de<br />

todo el mundo.<br />

17 Aunque esto puede ser una perspectiva americana, las historias de Hollywood llegan a todas partes.<br />

18 Incluy<strong>en</strong>do (especialm<strong>en</strong>te) el sistema PA. Una vez trabajé <strong>en</strong> una compañía que insistía <strong>en</strong> anunciar<br />

públicam<strong>en</strong>te cada llamada de teléfono que llegaba a los ejecutivos, y constantem<strong>en</strong>te interrumpía<br />

nuestra productividad (pero los directores no concebían el agobio como un servicio importante de PA).<br />

Finalm<strong>en</strong>te, cuando nadie miraba empecé a cortar los cables de los altavoces.<br />

29<br />

✐<br />

✐<br />

✐<br />

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!