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 18 — #56<br />
✐<br />
Capítulo 1. Introducción a los Objetos<br />
interacción a través del ciclo completo, y eso requiere comportami<strong>en</strong>tos arriesgados<br />
(lo cual ti<strong>en</strong>e s<strong>en</strong>tido, porque está int<strong>en</strong>tando hacer algo nuevo y los b<strong>en</strong>eficios pot<strong>en</strong>ciales<br />
son mayores). Puede parecer que el riesgo está compuesto por «prisas» <strong>en</strong><br />
una implem<strong>en</strong>tación preliminar, pero <strong>en</strong> cambio puede reducir el riesgo <strong>en</strong> un proyecto<br />
comodín porque está descubri<strong>en</strong>do pronto si es viable un <strong>en</strong>foque particular<br />
para el problema. El desarrollo del producto es gestión de riesgos.<br />
A m<strong>en</strong>udo se propone que «construya uno desechable». Con la POO, todavía<br />
debe andar parte de este camino, pero debido a que el código está <strong>en</strong>capsulado <strong>en</strong><br />
clases, durante la primera iteración inevitablem<strong>en</strong>te producirá algunos diseños de<br />
clases útiles y desarrollará algunas ideas válidas sobre el diseño del sistema que<br />
no necesariam<strong>en</strong>te son desechables. De esta manera, la primera pasada rápida al<br />
problema no produce sólo información crítica para la sigui<strong>en</strong>te iteración de análisis,<br />
diseño, e implem<strong>en</strong>tación, sino que además crea el código base para esa iteración.<br />
Es decir, si está buscando una metodología que cont<strong>en</strong>ga detalles trem<strong>en</strong>dos y<br />
sugiera muchos pasos y docum<strong>en</strong>tos, es aún más difícil saber cuándo parar. T<strong>en</strong>ga<br />
pres<strong>en</strong>te lo que está int<strong>en</strong>tando <strong>en</strong>contrar:<br />
1. ¿Cuáles son los objetos (¿Cómo divide su proyecto <strong>en</strong> sus partes compon<strong>en</strong>tes)<br />
2. ¿Cuáles son sus interfaces (¿Qué m<strong>en</strong>sajes necesita <strong>en</strong>viar a otros objetos)<br />
Si sólo cu<strong>en</strong>ta con los objetos y sus interfaces, <strong>en</strong>tonces puede escribir un programa.<br />
Por varias razones podría necesitar más descripciones y docum<strong>en</strong>tos, pero no<br />
puede hacerlo con m<strong>en</strong>os.<br />
El proceso se puede realizar <strong>en</strong> cinco fases, y una fase 0 que es simplem<strong>en</strong>te el<br />
compromiso inicial de usar algún tipo de estructura.<br />
1.9.1. Fase 0: Hacer un plan<br />
Primero debe decidir qué pasos va a dar <strong>en</strong> su proceso. Parece fácil (de hecho, todo<br />
esto parece fácil) y sin embargo la g<strong>en</strong>te a m<strong>en</strong>udo no toma esta decisión antes de<br />
ponerse a programar. Si su plan es «ponerse directam<strong>en</strong>te a programar», de acuerdo<br />
(a veces es adecuado cuando es un problema bi<strong>en</strong> conocido). Al m<strong>en</strong>os estará de<br />
acuerdo <strong>en</strong> que eso es el plan.<br />
También debe decidir <strong>en</strong> esta fase si necesita alguna estructura de proceso adicional,<br />
pero no las nueve yardas completas. Bastante compr<strong>en</strong>sible, algunos programadores<br />
prefier<strong>en</strong> trabajar <strong>en</strong> «modo vacaciones» <strong>en</strong> cuyo caso no se impone ninguna<br />
estructura <strong>en</strong> el proceso de desarrollo de su trabajo; «Se hará cuando se haga». Eso<br />
puede resultar atractivo durante un tiempo, pero se ha descubierto que t<strong>en</strong>er unos<br />
pocos hitos a lo largo del camino ayuda a <strong>en</strong>focar e impulsar sus esfuerzos <strong>en</strong> torno a<br />
esos hitos <strong>en</strong> lugar de empezar a atascarse con el único objetivo de «finalizar el proyecto».<br />
Además, divide el proyecto <strong>en</strong> piezas más pequeñas y hace que dé m<strong>en</strong>os<br />
miedo (y además los hitos ofrec<strong>en</strong> más oportunidades para celebraciones).<br />
Cuando empecé a estudiar la estructura de la historia (por eso algún día escribiré<br />
una novela) inicialm<strong>en</strong>te me resistía a la idea de una estructura, s<strong>en</strong>tía que cuando<br />
escribía simplem<strong>en</strong>te permitía que fluyera <strong>en</strong> la página. Pero más tarde me di<br />
cu<strong>en</strong>ta de que cuando escribo sobre computadoras la estructura es bastante clara,<br />
pero no pi<strong>en</strong>so mucho sobre ello. Pero aún así estructuro mi trabajo, aunque sólo<br />
semi-inconsci<strong>en</strong>tem<strong>en</strong>te <strong>en</strong> mi cabeza. Si aún pi<strong>en</strong>sa que su plan es sólo ponerse a<br />
codificar, de algún modo, usted pasará por las posteriores fases mi<strong>en</strong>tras pregunta y<br />
responde ciertas cuestiones.<br />
18<br />
✐<br />
✐<br />
✐<br />
✐