Commits

David Villa Alises committed 5a4110f

arreglando bugs del issue tracker de bitbucket

  • Participants
  • Parent commits 51f0d64

Comments (0)

Files changed (5)

 	identifican características clave en el sistema que pueden
 	revelar algunas de las clases fundamentales que se usarán. En
 	esencia son respuestas descriptivas a preguntas como:
-
-	Están descritas esencialmente respuestas a preguntas como
 	<footnote>
 	  <para>
 	   Gracias a <personname><firstname>James</firstname> <surname>H
       bogged down in system implementation details prematurely:
       -->
       <para>
-	Los diagramas de caso de uso son intencionadamente simples para
-	impedir que se atascarse con los detalles de implementación del
-	sistema demasiado pronto:
+	Los diagramas de caso de uso son intencionadamente simples para impedir que se
+	atasque con los detalles de implementación del sistema demasiado pronto:
       </para>
 
 
 	are covered in Volume 2). Objects, too, have their patterns that
 	emerge through understanding, use, and reuse.  -->
 	<para>
-	  La vida del diseño de un objeto no se limita a la escritura
-	  del programa. En cambio, el diseño de un objeto ocurre en una
-	  secuencia de etapas. Es útil tener esta perspectiva porque no
-	  debería esperar conseguir la perfección enseguida; en su
-	  lugar, se dará cuenta de que la comprensión de lo que hace un
-	  objeto y debería parecerse a lo que ocurre a largo plazo. Esta
-	  vista también se aplica al diseño de varios tipos de
-	  programas; el patrón para un tipo particular de programas surge
-	  a fuerza de pelearse una y otra vez con ese problema (los
-	  <emphasis>Patrones de Diseño</emphasis> se desarrollan en el
-	  Volumen 2). Los objetos, también, tienen sus patrones que
-	  surgen del entendimiento, uso y reutilización.
+	  La vida del diseño de un objeto no se limita a la escritura del programa. En
+	  cambio, el diseño de un objeto ocurre en una secuencia de etapas. Es útil tener
+	  esta perspectiva porque no debería esperar alcanzar la perfección enseguida; en
+	  lugar de eso, se dará cuenta que entender lo que hace un objeto y a qué se
+	  debería que ocurre con el tiempo. Esta vista también se aplica al diseño de
+	  varios tipos de programas; el patrón para un tipo particular de programas surge
+	  a fuerza de pelearse una y otra vez con ese problema (los <emphasis>Patrones de
+	  Diseño</emphasis> se desarrollan en el Volumen 2). Los objetos, también, tienen
+	  sus patrones que surgen del entendimiento, uso y reutilización.
 	</para>
 
 	<orderedlist>
       -->
 
       <para>
-	Con la evolución, el programador crea algo que al menos se
-	aproxima a lo que piensa que está construyendo, y luego [FIXME:
-	kick the tires], lo compara con sus requisitos y ve dónde no
-	llega. Entonces puede regresar y arreglarlo rediseñando y
-	re-implementando las porciones del programa que no funcionen
-	bien
+	Con la evolución, el programador crea algo que al menos se aproxima a lo que
+	piensa que está construyendo, y luego busca defectos, lo compara con sus
+	requisitos y ve lo que falta. Entonces puede volver y arreglarlo rediseñando y
+	re-implementando las porciones del programa que no funcionen bien
 	<footnote>
 
 	  <!--
 	benefit of finding this out early using rapid development.
 	-->
 	<para>
-	  Una pregunta común es, <quote>¿La POO no hace automáticamente
-	  mis programas mucho más grandes y lentos?</quote> La respuesta
-	  es: <quote>depende</quote>. Los lenguajes de POO más
-	  tradicionales se diseñaron con experimentación y prototipado
-	  rápido en mente más que operación FIXME:lean-and-mean. De esta
-	  manera, prácticamente garantiza un incremento significativo en
-	  tamaño y una disminución en velocidad. C++ sin ambargo, está
-	  diseñado teniendo presente la producción de
-	  programación. Cuando su objetivo es un prototipado rápido,
-	  puede lanzar componentes juntos tan rápido como sea posible
-	  ignorando las cuestiones de eficiencia. Si está usando una
-	  librerías de otros, normalmente ya están
-	  optimizadas por sus vendedores; en cualquier caso no es un
-	  problema mientras está en un modo de desarrollo rápido. Cuando
-	  tenga el sistema que quiere, si es bastante pequeño y rápido,
-	  entonces ya está hecho. Si no, lo puede afinar con una
-	  herramienta de perfilado, mire primero las mejoras que puede
-	  conseguir aplicando las características que incorpora C++. Si
-	  esto no le ayuda, mire las modificaciones que se pueden hacer
-	  en la implementación subyacente de modo que no sea necesario
-	  necesario cambiar ningún código que utilice una clase
-	  particular. Únicamente si ninguna otra cosa soluciona el
-	  problema necesitará cambiar el diseño. El hecho de que el
-	  rendimiento sea tan crítico en esta fase del diseño es un
-	  indicador de que debe ser parte del criterio del diseño
-	  principal. FIXME:Usar un desarrollo rápido tiene la ventaja de darse
-	  cuenta rápidamente.
+	  Una pregunta común es, <quote>¿La POO no hace automáticamente mis programas
+	  mucho más grandes y lentos?</quote> La respuesta es: <quote>depende</quote>. Los
+	  lenguajes de POO más tradicionales se diseñaron con experimentación y
+	  prototipado rápido más que pensando en la eficiencia. De esta manera,
+	  prácticamente garantiza un incremento significativo en tamaño y una disminución
+	  en velocidad. C++ sin ambargo, está diseñado teniendo presente la producción de
+	  programación. Cuando su objetivo es un prototipado rápido, puede lanzar
+	  componentes juntos tan rápido como sea posible ignorando las cuestiones de
+	  eficiencia. Si está usando una librerías de otros, normalmente ya están
+	  optimizadas por sus vendedores; en cualquier caso no es un problema mientras
+	  está en un modo de desarrollo rápido. Cuando tenga el sistema que quiere, si es
+	  bastante pequeño y rápido, entonces ya está hecho. Si no, lo puede afinar con
+	  una herramienta de perfilado, mire primero las mejoras que puede conseguir
+	  aplicando las características que incorpora C++. Si esto no le ayuda, mire las
+	  modificaciones que se pueden hacer en la implementación subyacente de modo que
+	  no sea necesario cambiar ningún código que utilice una clase
+	  particular. Únicamente si ninguna otra cosa soluciona el problema necesitará
+	  cambiar el diseño. El hecho de que el rendimiento sea tan crítico en esta fase
+	  del diseño es un indicador de que debe ser parte del criterio del diseño
+	  principal. FIXME:Usar un desarrollo rápido tiene la ventaja de darse cuenta
+	  rápidamente.
 	</para>
 
 
 	  para <function>func1()</function> . Como no hay cuerpo de
 	  función, el compilador debe tratarla como una declaración de
 	  función en lugar de como definición. La palabra reservada
-	  <kw>extern</kw> es bastante supérflua y opcional para la
+	  <kw>extern</kw> es bastante superflua y opcional para la
 	  declaración de funciones. Probablemente sea desafortunado que
 	  los diseñadores de C no obligaran al uso de <kw>extern</kw>
 	  para la declaración de funciones; hubiera sido más consistente
       -->
 
       <para>
-        For alguna razón, la mayoría de los programadores tienden a
+        Por alguna razón, la mayoría de los programadores tienden a
         evitar el <kw>do-while</kw> y se limitan a trabajar con
         <kw>while</kw>.
       </para>
 	forces a long double; otherwise the number will be a double.
 	-->
 	<para>
-	  Alguno valores válidos para una constante en punto flotante
+	  Algunos valores válidos para una constante en punto flotante
 	  son: 1e4, 1.0001, 47.0, 0.0 y 1.159e-77.  Se pueden añadir
 	  sufijos para forzar el tipo de número de punto flotante:
 	  <literal>f</literal> o <literal>F</literal> fuerza que sea
           En este ejemplo, <code>struct X</code> contiene un array de
           <type>int</type>, pero cuando se crea uno en la pila como en
           <code>X x</code>, los valores de cada uno de los
-          <type>int</type>s tienen basura (esto de muestra utilizando la
+          <type>int</type>s tienen basura (esto se demuestra utilizando la
           función <function>print()</function> para mostrar los
           contenidos de <kw>struct</kw>). Para inicializarlas, la
           dirección del <type>X</type> se toma y se moldea a un puntero
 
       <para>
         Un tipo de datos enumerado es útil cuando se quiere poder seguir
-        la pista pista de alguna característica:
+        la pista de alguna característica:
       </para>
 
 
         -->
 
         <para>
-          los vectores pueden ser de cualquier tipo, incluyendo vectores
+          Los vectores pueden ser de cualquier tipo, incluyendo vectores
           de punteros. De hecho, cuando se quieren pasar argumentos de
           tipo línea de comandos dentro del programa, C y C++ tienen una
           lista de argumentos especial para <function>main()</function>,
 	-->
 
 	<para>
-	  Usando el preprocesador para definir (con <kw>#define</kw>)
-	  una o más banderas de depuración (preferiblemente en un
-	  fichero de cabecera), puede probar una bandera usando una
-	  sentencia <kw>#ifdef</kw> e incluir condicionalmente código de
-	  depuración. Cuando crea que la depuración ha terminado,
-	  simplemente utilice <kw>#undef</kw> con la esa bandera y el
-	  código quedará eliminado automáticamente (y reducirá el tamaño
-	  y sobrecarga del fichero ejecutable).
+	  Usando el preprocesador para definir (con <kw>#define</kw>) una o más banderas
+	  de depuración (preferiblemente en un fichero de cabecera), puede probar una
+	  bandera usando una sentencia <kw>#ifdef</kw> e incluir condicionalmente código
+	  de depuración. Cuando crea que la depuración ha terminado, simplemente utilice
+	  <kw>#undef</kw> la bandera y el código quedará eliminado automáticamente (y
+	  reducirá el tamaño y sobrecarga del fichero ejecutable).
 	</para>
 
 	<!--
 	-->
 
 	<para>
-	  Este programa permitiéndole activar y desactivar la bandera de
-	  depuración hasta que escriba <userinput>quit</userinput> para
-	  indicarle que quiere salir. Fíjese que es necesario escribir
-	  palabras completas, no solo letras (puede abreviarlo a letras
-	  si lo desea). Opcionalmente, también se puede usar un
-	  argumento en línea de comandos para comenzar la depuración -
-	  este argumento puede aparecer en cualquier parte de la línea
-	  de comando, ya que el código de activación en
-	  <function>main()</function> busca en todos los argumentos. La
+	  Este programa sigue permitiéndole activar y desactivar la bandera de depuración
+	  hasta que escriba <userinput>quit</userinput> para indicarle que quiere
+	  salir. Fíjese que es necesario escribir palabras completas, no solo letras
+	  (puede abreviarlo a letras si lo desea). Opcionalmente, también se puede usar un
+	  argumento en línea de comandos para comenzar la depuración - este argumento
+	  puede aparecer en cualquier parte de la línea de comando, ya que el código de
+	  activación en <function>main()</function> busca en todos los argumentos. La
 	  comprobación es bastante simple como se ve en la expresión:
 	</para>
 
 	...</quote>), va a la derecha y encuentra la lista de argumentos
 	vacía (<quote>... función que no tiene argumentos ...</quote>)
 	va a la izquierda y encuentra el <type>void</type>
-	(<quote><varname>funcPtr</varname> es un punero a una función
+	(<quote><varname>funcPtr</varname> es un puntero a una función
 	que no tiene argumentos y retorna <type>void</type></quote>).
       </para>
 
 	file).
 	-->
 	<para>
-	  Escriba un programa que use utilice un bucle <kw>while</kw>
+	  Escriba un programa que utilice un bucle <kw>while</kw>
 	  para leer palabras de la entrada estándar
 	  (<varname>cin</varname>) y las guarde en un
 	  <type>string</type>. Este es un bucle <kw>while</kw>
 	  <quote>infinito</quote>, que debe romper (y salir del
 	  programa) usando la sentencia <kw>break</kw>. Por cada palabra
-	  que lea, evaluela primero usando una secuencia de sentencias
+	  que lea, evalúela primero usando una secuencia de sentencias
 	  <kw>if</kw> para <quote>mapear</quote> un valor entero de la
 	  palabra, y después use una sentencia <kw>switch</kw> que
 	  utilice ese valor entero como selector (esta secuencia de
 	<para>
 	  Experimente con <filename>Union.cpp</filename> eliminando
 	  varios elementos de la <kw>union</kw> para ver el efecto que
-	  causa en el tamaño de la <kw>union</kw> resultante.. Intente
+	  causa en el tamaño de la <kw>union</kw> resultante. Intente
 	  asignar un elemento (por tanto un tipo) de la <kw>union</kw> y
 	  muéstrelo por medio de un elemento diferente (por tanto, un
 	  tipo diferente) para ver que ocurre.
     </orderedlist>
   </sect1>
 </chapter>
+
+
+<!--
+.. Local Variables:
+..  coding: utf-8
+..  mode: flyspell
+..  ispell-local-dictionary: "castellano8"
+..  fill-column: 90
+.. End:
+-->
   people's code. That is, to use libraries.
   -->
   <para>
-    Pero la productividad real significa que un programa que para ser
-    escrito, antes requería de tres personas trabajando una semana,
-    ahora le lleve sólo un día o dos a una sola persona. Esto afecta a
-    varios niveles de la esfera económica. A usted le agrada ver que es
-    capaz de construir algo en menos tiempo, sus clientes (o jefe) son
-    felices porque los productos les llegan más rápido y utilizando
-    menos mano de obra y finalmente los compradores se alegran porque
-    pueden obtener productos más baratos. La única manera de obtener
-    incrementos masivos en productividad es apoyándose en el código de
-    otras personas; o sea, usando librerías.
+    Pero la productividad real significa que un programa que para ser escrito, antes
+    requería de tres personas trabajando una semana, ahora le lleve sólo un día o dos a
+    una sola persona. Esto afecta a varios niveles de la esfera económica. A usted le
+    agrada ver que es capaz de construir algo en menos tiempo, sus clientes (o jefe) están
+    contentos porque los productos les llegan más rápido y utilizando menos mano
+    de obra y finalmente los compradores se alegran porque pueden obtener productos más
+    baratos. La única manera de obtener incrementos masivos en productividad es apoyándose
+    en el código de otras personas; o sea, usando librerías.
   </para>
 
   <!--
     compiled obj or lib or dll, etc.) looks like this: -->
     <para>
       El archivo de código fuente para la implementación (del que no se
-      suele disponer si fuese una librería comercial - normalmente sólo
-      dispondrá que un <filename>.obj</filename>,
+      suele disponer si fuese una librería comercial &mdash;normalmente sólo
+      dispondrá de un <filename>.obj</filename>,
       <filename>.lib</filename> o <filename>.dll</filename>, etc) tiene
       este aspecto:
     </para>
       bits. Descubrí más tarde que nunca había sido un buen programador
       en C, camuflando así mi ignorancia sobre estructuras,
       <function>malloc()</function> y <function>free()</function>,
-      <function>setjmp()</function> y <function>longimp()</function>, y
+      <function>setjmp()</function> y <function>longjmp()</function>, y
       otros conceptos <emphasis>sofisticados</emphasis>, y muriéndome de
       vergüenza cuando estos términos entraban en una conversación, en
       lugar de investigar su utilidad.