Como mantener código antiguo en C++

Si has llegado a este artículo es que te preocupa la calidad de tu código y el mantenimiento de tus proyectos en C++ se está haciendo cada vez más costoso ( o ya directamente imposible )

Perfecto! Es buena señal que te preocupes por la calidad de tu trabajo, ahora bien, ¿ realmente estas enfocando correctamente tus esfuerzos?
En muchas ocasiones esforzarse en el mantenimiento de un proyecto C++ se centra en preocuparse por el código. Desgraciadamente esto solo es el 25% de lo que debes hacer para conseguir mantener tu código en óptimas condiciones:

1. Actitud
  Personalmente lo que creo que más limita el mantenimiento del código en proyectos antiguos es la actitud de los programadores de un equipo. Es muy fácil caer en el pesimismo y en la "dinamica de la pereza". Si realmente quieres que el proyecto tire adelante has de cuidar tu actitud hacía el proyecto: has de ser positivo pero realista, valiente pero no suicida. Sin la actitud adecuada ninguno de los puntos que vienen después tienen el más mínimo sentido

2. Estrategia
 Cuando hablamos de estrategia en el mantenimiento de código podríamos hablar de la filosofía con la que nos enfrentaremos a los problemas. La filosofía adecuada para hacer un mantenimiento óptimo de proyectos en C++ se podría resumir en que la calidad ha de estar por encima de todo. No deberíamos contraer deuda técnica ( o pagarla cuanto antes sea posible ), deberíamos ser conscientes que el objetivo principal del código es ser entendible por otro programador (el hecho que lo compilemos para generar un producto es circunstancial), deberíamos tener muy claro que cada vez que toquemos código ha de ser para dejarlo un poco mejor que como estaba. Sin estos conceptos claros ya podemos intentar hacer el mejor código del mundo que no lo conseguiremos.

3. Código
 Evidentemente, "tocar" el código, aunque no sea lo más importante, es un factor a tener en cuenta en el mantenimiento de un proyecto en C++. Todo lo que se puede decir sobre el código legible es que al final hay unas "recetas de cocina" la mar de bonitas que en cuanto las controlas tienes gran parte del trabajo hecho. El resumen seria eliminar todas las duplicaciones de código que fuera posible y que la nomenclatura de clases, variables y funciones sea coherente.

4. Herramientas
Aunque no sea el factor más determinante, tener un buen conjunto de herramientas de desarrollo ayudan , y mucho, a tener una buena calidad de código. Disponer de un sistema de versionado, un profiler, un debuger y un detector de memleaks, parece algo evidente, pero en muchas ocasiones es algo de lo que no se dispone. Si no lo tienes, consiguelo, te quitará de muchos problemas en el mantenimiento del código.
Aparte de estas herramientas básicas, un buen analizador estático de código y un sistema integrado de tests unitarios (o TDD) aporta un plus nada despreciable.

Espero que disfrutes de este blog tanto como yo disfruto al escribirlo Cualquier duda que tengas sobre mantenimiento de proyectos en C++ no vaciles en hacermela llegar en los comentarios.

No hay comentarios:

Publicar un comentario