Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
Pensar en C++ (Volumen 1) - Grupo ARCO
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 />
✐