Lorem ipsum dolor sit amet, conse ctetur adip elit, pellentesque turpis.

Teléfono: 661 713 329     Siguenos

Image Alt

Colegio Profesional de Ingenieros en Informática de Castilla y León

  /  Uncategorized   /  Un libro sobre construcción de software: Code Complete

Un libro sobre construcción de software: Code Complete

Dentro del ciclo de vida del software hay una fase ineludible: la construcción.
A pesar de que muchos tratan de restarle importancia, favoreciendo en ocasiones visiones abstractas y poco prácticas de lo que es el desarrollo de software, la construcción sigue siendo el punto central del desarrollo.

Steve McConnell lanza una segunda edición del que es posiblemente el mejor libro sobre construcción hasta la fecha, una auténtica visión de ingeniería de un proceso que muchos tratan de continuar relegando a un nivel artesanal.

Dentro del ciclo de vida del software hay una fase ineludible: la construcción.
A pesar de que muchos tratan de restarle importancia, favoreciendo en ocasiones visiones abstractas y poco prácticas de lo que es el desarrollo de software, la construcción sigue siendo el punto central del desarrollo.

Steve McConnell lanza una segunda edición del que es posiblemente el mejor libro sobre construcción hasta la fecha, una auténtica visión de ingeniería de un proceso que muchos tratan de continuar relegando a un nivel artesanal.
Título: Code Complete 2: A Practical Handbook of SoftwareConstruction
Autor: Steve McConnel
Fecha: Junio 2004
Editorial: Microsoft Press
Páginas: 914

Amazon Francia:
http://www.amazon.fr/exec/obidos/ASIN/0735619670/qid=1096707832/ref=sr_8_xs_ap_i1_xgl/171-9182099-5381065

Amazon UK:
http://www.amazon.co.uk/exec/obidos/ASIN/0735619670/pd_ka_0/202-2979086-0585428

Creo que fue en 1996 cuando salió la primera ediciónde Code Complete. Lamentablemente no supe de ese libro hastaaños más tarde, cuando la gran mayoría de los conceptos ytécnicas que presenta ya me eran conocidos. A pesar de ellofue muy satisfactorio poder leer sobre una visión del desarrollo desoftware que me era familiar y con la que estaba totalmente de acuerdo. Tengo la impresión de que muchos libros deingeniería del software se pasan la mitad de las páginas diciendo “a lo largo del libro veremos” y la otra mitad diciendo “como hemosvisto…”.

Al hablar de análisis o diseño (y quizá estoy haciendo referencia a libros más bien generalistas) se suelehacer incapié en qué se espera de esas fases, muchas veces más que en realmente contar cómo hacerlo. Y muchos de ellos,quizá herencia del modelo en cascada, poniendo todo el énfasis en análisis y diseño, y esperando que cierta magia ocurra y el código se genere “automáticamente”.

El estilo del autor es práctico, con ejemplos y comentarios salidos de la vida real, que parecen cercanos (vamos, que los ejemplos sobre desarrollos monumentales de los 70, o experimentosde “laboratorio” hechos por profesores en universidades no me resultan tan amenos), eso sí, sin caer en el “desenfadocachondo” que algún libro-churro sobre programaciónen el lenguaje nosecuantos pueda tener.
Define claramente qué es la construcción de software,la gran importancia que tiene optimizar un proceso que a fin decuentas es el que suele consumir más tiempo dentro del desarrollo, yrefuerza la idea de que cada línea de código, cadamétodo, bucle, variable, es vital. Algo claramente opuesto al “cualquieraprograma” que personalmente considero un error.

El libro dedica secciones enteras a hablar sobre nomenclatura devariables y métodos, cómo organizar los fuentes,estilos de indentación, complejidad, cohesión, etc. Se presentannumerosos ejemplos y contraejemplos que ilustran claramente los conceptos expuestos. Especialmente atractivos los recuadros “codinghorror” en los que se analizan errores comunes de todo tipo, que hacen el código ilegible e inmantenible. Lamantenibilidad se presenta precisamente como uno de los principales objetivos de la construcción, por encima delrendimiento.

Se habla de cómo escribir código de calidad, nocentrándose en un lenguaje concreto (en la segundaedición los ejemplos se han actualizado de Pascal y C a Java, C# y C++), sino manejandoconceptos generales de programación.

Aborda el tema de los comentarios en los fuentes, presentaalternativas, ejemplos y recomendaciones, si bien es precisamente el estilo dialogante el que más engancha, presentandosiempre posibilidades alternativas, con sus pros y contras.

No sólo se habla de creación de código,también de gestión de la configuración, depruebas e integración, como principales puntos de la fase de construcción.

Es importante señalar que McConnel, ex-microsoft, no es eltípico “codehacker” que sobrepone el “manosear elcódigo” a todo lo demás. Se trata de un autor de muy reconocido prestigioque participa como “gurú” en la supervisión delSoftware Engineering Body of Knowledge (SWEBOK, www.swebok.org), promovido,entre otros, por la IEEE Computer Society.

El libro NO es precisamente un curso de programación paraestudiantes de primero, ya que da por conocidas las bases y se centra en un debate de más alto nivel. Ahora bien, siempreme ha sorprendido desagradablemente que nadie (quizá esedía no fui a clase ;-P) en la universidad haya mencionado el texto. Creoque es un libro indispensable para quienes nos dedicamos alsoftware profesionalmente, y la verdad es que, tras ver las basesde programación, un libro de texto fundamental en las escuelas de ingeniería en informática.

La segunda edición, recién salida del horno el pasadoverano, renueva los contenidos. No voy a decir que seaindispensable echarle un vistazo si se tiene la primera, pero sí que serenueva considerablemente. Añade ademáscapítulos nuevos en los que se tratan nuevos conceptos surgidos desde la primerapublicación, como pueden ser el “refactoring”, los testsunitarios, nuevos lenguajes de programación y metodologíaságiles.

A pesar de lo que pueda parecer debido a su pragmatismo, McConnelno resulta ser un integrista de las nuevas metodologías, yen una reciente entrevista(http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20040819CodeSM/manifest.xml)indica que prefiere lo que denomina “desarrollo do*****entado” usando unmodelo en cascada, que uno “indo*****entado” con XP. Por do*****entado hace referencia no a generar o nodo*****entación, sino a trabajar con personal adecuadamenteformado.
Code Complete es un libro esencial para cualquier ingeniero eninformática que se dedique al desarrollo de software, independientemente de su nivel de experiencia. Para algunosservirá de repaso y de referencia indispensable, para otrospara consolidar y aumentar las bases que se adquirieron en launiversidad, siempre desde una perspectiva totalmenteingenieril.

Post a Comment

8 − cuatro =