Voluminous documentation is part of the problem, not part of the solution.
-- Tom DeMarco, software development consultant
Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing.
-- Dick Brandon
Mi experiencia a la hora de documentar un proyecto para la cesión de administración y mantenimiento a terceros me ha enseñado que la documentación sólo sirve si:
- está contínuamente actualizada y sincronizada con lo que documenta (el adverbio continuamente aquí, es clave)
- la documentación y lo documentado están mutuamente accesibles
- tiene estructura y formato ágil para la consulta
En lo que a documentación de código se refiere, los objetivos anteriores se obtienen con creces con sistemas de generación de documentación automatica:
- La documentación está junto a lo documentado favoreciendo la contínua actualización
- Están mutuamente accesibles
- La estructura es la idónea para facilitar el acceso a la documentación precisa fácilmente ya que suelen generar HTML
Doxygen es un generador de documentación gratuito para C++, C, Java, Objective-C, Python, IDL, Fortran, VHDL, PHP, C# y D. Su licencia es GPL y sus resultados son comparables (e incluso mejores en algunos aspectos) a documentadores comerciales.
Los desarrolladores de Java, que ya conocen Javadoc, cuya generación está perfectamente integrada con Maven, se preguntarán para qué diablos necesitarían otro documentador. Como se comenta en la segunda cita introductoria de este artículo, Javadoc está bien: es mejor que nada. Pero comparar Doxygen con Javadoc es equivalente a comparar maven con "make".
Las características más destacables, frente a Javadoc, desde mi punto de vista:
- Genera automáticamente diagramas de clase y colaboración. Opcionalmente, diagramas de dependencia, llamada, etc...
- Permite incluir el código fuente resaltado en la propia documentación
- Formatos: HTML,CHM, PDF, XML, etc..
Usando Doxygen con Maven
De la misma forma que podemos automatizar la generación de documentación javadoc en nuestras construcciones con maven, podemos hacerlo con Doxygen. Para ello, tan sólo debemos seguir los siguientes pasos:
- Instalar Doxygen y hacerlo disponible en el path (para *ubuntu esto es automático con la instalación)
- Añadir el plugin a nuestro pom.xml. A continuación muestro las opciones de configuración que yo suelo usar
Recomiendo probar con las opciones de generación de diagramas. Especialmente los diagramas de colaboración pueden ser muy útiles para ciertos módulos de proyecto.... .... com.soebes.maven.plugins.dmg doxygen-maven-plugin 1.0.1 .... com.soebes.maven.plugins.dmg doxygen-maven-plugin 1.0.1 false es.cestel.szarza.balteus 1.0 spanish true true true true src/maintrue
Referencias y más información:
No hay comentarios :
Publicar un comentario