TODOPIC
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.
¿Perdiste tu email de activación?
03 de Septiembre de 2010, 05:24:37

Ingresar con nombre de usuario, contraseña y duración de la sesión
Buscar:     Búsqueda Avanzada
257111 Mensajes en 28437 Temas por 27916 Usuarios
Último usuario: zororyuzaki
* Inicio Ayuda Buscar Calendario Ingresar Registrarse
Buscar en TodoPIC
+  TODOPIC
|-+  Microcontroladores PIC
| |-+  * PROYECTOS * (Moderadores: J1M, jfh900, MGLSOFT, Modulay, Sasián, LABmouse)
| | |-+  Documentar los Proyectos : Doxygen
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] 2 Marcar como favorito Imprimir
Autor Tema: Documentar los Proyectos : Doxygen  (Leído 3439 veces)
RedPic
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Tibet Tibet

Mensajes: 4876



WWW
« : 25 de Octubre de 2007, 03:16:18 »

Después de dar varias vueltas por el foro sin acabar de decidirme dónde colocar este nuevo hilo. Al final me he decidido por el de Proyectos ya que su contenido tiene mucho que ver con ellos, aunque sea en general con todos los proyectos y no con ninguno de ellos en concreto.

Hay Proyectos y proyectitos. Los Proyectos, con mayúsculas, profesionales o no, pero complejos, largos y/o farragosos son difíciles de mantener vivos conforme pasa el tiempo. ¿Quien no se ha enfrentado a un código fuente propio tras algunos meses, y no digamos años, y no ha entendido absolutamente nada de lo que ese código hacía, ni cómo lo hacía ni por qué hacía lo que hacía?

La memoria de nosotros los programadores es una memoria RAM volátil a corto plazo.

Algoritmos evidentes en si mismos, implementados por cualquiera de nosotros hoy, no es mañana inteligible no a otros programadores, sino ni siquiera por nosotros mismos. Nombres de variables o funciones, que hoy llamamos int2string y mañana int8_to_str, procedimientos, parámetros de entrada o salida, defines, includes ... etc.

La solución para fijar en la memoria todo este galimatías esta en : documentar.

Escribir sistemáticamente todo lo relevante a nuestro proyecto, las descripciones de cómo y por qué tomamos esta o aquella decisión, para qué sirve y cómo se utiliza esta función o aquél parámetro.

Y en nuestra ayuda viene Doxygen, un programa con licencia GNU (o sea: que podemos utilizar alegre y confiadamente sin que nadie venga a sobresaltarnos con demandas, multas, etc.).

Doxygen es una Source code documentation generator tool Herramienta Generadora de Documentación para Código Fuente. Su página Web es Doxygen y en ella está disponible todo lo necesario para su uso y disfrute.

Os lo recomiendo muy encarecidamente, en mi trabajo lo utilizamos por norma y los resultados son espectaculares: Todos los programadores entendemos lo que hacen los otros, nosotros mismos sabemos qué hicimos y como utilizarlo meses después de haberlo olvidado completamente. Y además su documentación generada nos sirve como referencia constante para usarla a diario.

Y por si fuera poco nos obliga también a describir qué estamos haciendo en el momento de hacerlo por lo que nos fuerza a trabajar de forma clara y explicable de cara a los demás.

Un Ejemplo:

Hace unos días he posteado un pequeño proyecto en este mismo foro titulado: El RS485, un Relé en la lejanía: Hardware y Software. En él se publicaba un código fuente que comenzaba con un curioso párrafo de comentario:

Código
GeSHi (cpp):
  1. /** \file firmware_iRELE485-628.c
  2. * \brief Este fichero contiene el cuerpo principal del Firmware del\n
  3. * dispositivo auxiliar satélite de la iACD V1.0.4. denominado iRELE485-628
  4. *
  5. * Integra todos los subsistemas y funciones implementados.\n
  6. * Source para el compilador CCS C v.3.242
  7. *
  8. * Microprocesador : <b>16F628A</b> (18 pines PDIP) \n\n
  9. * Fuses utilizados: \n
  10. * \li <b>INTRC</b> Internal RC Osc
  11. * \li <b>MCLR</b> Master Clear pin enabled
  12. * \li <b>NOWDT</b> No Watch Dog Timer
  13. * \li <b>NOPROTECT</b> Code not protected from reading
  14. * \li <b>NOPUT</b> No Power Up Timer
  15. * \li <b>NOBROWNOUT</b> No brownout reset
  16. * \li <b>NOLVP</b> No low voltage prgming, B3(PIC16)
  17. * \li <b>NOCPD</b> No EE protection
  18. *
  19. * \author Diego Márquez García-Cuervo \n
  20. * <http://picmania.garcia-cuervo.net>
  21. *
  22. * \version 1.0.0.A
  23. */
  24.  

Es cómo se comenta, cara a Doxygen , el contenido de un fichero fuente. Es hacer lo que todos hacemos al inicio de un fichero .C pero teniendo en cuenta lo que Doxygen va a necesitar.

El resto del código fuente continúa del mismo modo comentando variables, defines y funciones.

Es solo un ejemplo, no está documentado al nivel de los que tengo que realizar en mi vida profesional en los que la profundidad de la descripción es mucho mayor pero bien vale como introducción.

Al procesar con Doxygen estos códigos fuentes se generan, en HTML por ejemplo, todas las referencias cruzadas, índices y descripciones detalladas que hagan falta.

El Código Fuente del ejemplo procesado con este script DOX (no os asustéis, tiene un Expert en español para generarlo) generó esta Documentación del iRele485-628 que deseo que visitéis para que veáis los resultados.

Ea, mañana más.  Mr. Green
 
« Última modificación: 18 de Junio de 2010, 02:35:37 por RedPic » En línea

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania
Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 12825



WWW
« Respuesta #1 : 29 de Octubre de 2007, 02:17:52 »

Yo tuve la oportunidad de ver la documentación de tu proyecto del iACD, Diego, y quedé maravillado con la herramienta.
Aún así, siempre me ha dado pereza escribir tanto, limitando mis comentarios a simples líneas encima, enmedio o bajo las funciones que considero que lo necesiten.
Pero es cierto, el paso del tiempo y el ron, y la degradación de las neuronas hacen que luego sea complicadísimo ponerlo en pie.
Le daré una oportunidad a esa herramienta.

JCC40, ¿a qué software te refieres?
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
PalitroqueZ
Moderadores
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Venezuela Venezuela

Mensajes: 4087


tomando un descanso


WWW
« Respuesta #2 : 29 de Octubre de 2007, 07:39:16 »

yo uso uno muy práctico y que reconoce multiples lenguajes (reconoce bucles)  Cool

Notepad++

no hará muchas cosas, pero me sirve jeje
« Última modificación: 29 de Octubre de 2007, 07:43:30 por PalitroqueZ » En línea

¡llegaron las lluuuvias!
SavageChicken
Colaborador
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
Argentina Argentina

Mensajes: 608



« Respuesta #3 : 03 de Noviembre de 2007, 10:57:20 »

La memoria de nosotros los programadores es una memoria RAM volátil a corto plazo.

Algoritmos evidentes en si mismos, implementados por cualquiera de nosotros hoy, no es mañana inteligible no a otros programadores, sino ni siquiera por nosotros mismos. Nombres de variables o funciones, que hoy llamamos int2string y mañana int8_to_str, procedimientos, parámetros de entrada o salida, defines, includes ... etc.

La solución para fijar en la memoria todo este galimatías esta en : documentar.

Es totalmente cierto, yo en particular uso assembler y a pesar de no trabajar con erramientas externas para documentar, tengo el hábito de comentar todas las líneas de código, de manera que luego pueda entender que hice y por qué está ahí esa línea, todas la variables, bucles y funciones tienen un comentario lo más claro y consiso posible.
Eso me ha permitido retomar proyectos dejados largo tiempo en espera sin mayores problemas.
Es cierto que no es muy agradable al comienzo, pero incluso al momento de escribir el código ayuda a entender lo que estás haciendo.
Siempre comienzo haciendo una lista, en formato de comentario, con las cosas que debe hacer el programa y luego esa misma lista se transforma en los comentarios de las funciones que se fueron implementando.

Es una práctica muy sana.

Salud  Cool
En línea

No hay preguntas tontas...
Solo hay tontos que no preguntan.
stk500
Moderadores
DsPIC30
*****
Desconectado Desconectado

Sexo: Masculino
Alemania Alemania

Mensajes: 2631



« Respuesta #4 : 06 de Noviembre de 2007, 02:47:07 »

Doxigen lo encuentros muy interesante, pero el miedo que me da es integrarlo con el WinAVR, aqui espero algunos comentarios y consejo al respecto ya que estoy siguiendo este tema de Redpic
En línea

un saludo Rafael
Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 12825



WWW
« Respuesta #5 : 07 de Marzo de 2008, 04:40:13 »

Acabo de encontrar este proyecto documentado con Doxygen y se me cae la baba. Qué lástima que yo sea tan indisciplinado para esto.

Po3030k Device Driver for dsPIC33
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
reiniertl
Moderadores
PIC24H
*****
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 1011



« Respuesta #6 : 07 de Marzo de 2008, 07:48:58 »

No cabe dudas que me voy a instalar esa cosa, o conseguírmela o lo que haga falta para usarla. Me encantan los programas bien documentados, sobre todo porque no me cuesta mucho escribir cantidad wink y porque soy de los súper programadores que se acuestan hoy y mañana no saben que rayos han escrito. Como cuando te vas a la cama después de una buena curda y al otro día ni sabes que fue lo que hiciste la noche anterior.

Gracias Diego por tan buen aporte.

Saludos
Reinier
En línea
RedPic
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Tibet Tibet

Mensajes: 4876



WWW
« Respuesta #7 : 07 de Marzo de 2008, 09:46:35 »

Venga, todo sea por hacer las cosas mejor. En mi trabajo me lo exigen, es natural ya que mi código fuente puede mañana ser tocado por algún otro programador y tiene que tener disponible la información. Pero ahora estoy cogiéndole el gusto y ya lo coloco las etiquetas Doxygen a todo lo que hago, sea C, Java o Delphi.  Mr. Green
En línea

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania
Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 12825



WWW
« Respuesta #8 : 24 de Marzo de 2008, 03:06:24 »

Don Diego, gracias por haberme puesto en el camino.

En el proyecto que estoy haciendo me he obligado a usar esta herramienta y no puedo estar más contento con los resultados.

Gracias  rebotando
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
RedPic
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Tibet Tibet

Mensajes: 4876



WWW
« Respuesta #9 : 24 de Marzo de 2008, 03:36:20 »

Don Diego, gracias por haberme puesto en el camino.

En el proyecto que estoy haciendo me he obligado a usar esta herramienta y no puedo estar más contento con los resultados.

Gracias  rebotando

A mandar, que pa'eso estamos.  Mr. Green
En línea

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania
damago
Colaborador
PIC18
*****
Desconectado Desconectado

Mensajes: 316


« Respuesta #10 : 24 de Marzo de 2008, 07:51:13 »

Vaya, como dice Nocturno, yo tambien estoy acostumbrado a comentar sobre el propio codigo lo que considero necesario. Ademas en mi trabajo mi codigo lo toco solo yo (hasta ahora de momento jeje). Es mas, tanto comentar sobre el propio codigo fuente no me acaba de gustar (me gustar ver mas codigo y menos comentarios en los archivos .c).

Por otra parte, los resultados que he visto en tu ejemplo RedPic me han gustado mucho, y es una gozada tener todo tan bien documentado, para ti o para quien venga despues.

El caso es que tambien voy a probarlo, para el programa que llevo entre manos ahora, a ver que tal la experiencia.
Conoces alguna utilidad para crear otro archivo igual que el *.c o *.h  documentado pero sin todo lo comentado par el doxygen? (bueno eso lo podriamos hacer nosotros mismos con un pequeño programita....pero si conoces algo..... debe ser cosa de acostumbrarse, pero no me acaba de gustar revisar un codigo con mas comentarios que codigo (si lo entiendo claro)).

Gracias por el enlace RedPic, creo que es una muy buena herramienta.

Un saludo.
En línea
samshiel_pic
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 431



« Respuesta #11 : 24 de Marzo de 2008, 05:37:32 »

Hola compañeros que tal va todo??? me ha gustado mucho el Doxygen y me va ha ser muy util pero me veo en un pequeño problema de entendimiento entre él y yo, porque no se como se utiliza. Mr. Green Mr. Green
Haber si me echais una manita  lol lol
En línea

Ni duermo ni como en el foro, ni machaco teclados, ni soy un ser supremo, ni etc, etc...  (lol jejeje lol)pero aqui estoy para lo que pueda ayudar.  

ESPAÑA - ANDALUCIA - SEVILLA

Saludos CANDI.
samshiel_pic@todopic.zzn.com
migsantiago
Moderador Global
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 6836



WWW
« Respuesta #12 : 24 de Marzo de 2008, 07:11:55 »

- Descargandooo -

Un tutorial por favoooorrr  DIegoooo amiiggooooo  lol
En línea

Nocturno
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 12825



WWW
« Respuesta #13 : 25 de Marzo de 2008, 03:12:55 »

Instálalo, Migsantiago. Tiene una documentación extraordinaria y muy fácil de entender, como no podía ser de otra manera tratándose de una herramienta para documentar  lol
En línea

Un saludo desde Sevilla, España.
Visita MicroPIC                                                                                        ɔ!doɹɔ!ɯ ɐʇ!s!ʌ
migsantiago
Moderador Global
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 6836



WWW
« Respuesta #14 : 25 de Marzo de 2008, 11:57:47 »

Bueno.






 lol
En línea

5GTT
Colaborador
PIC24F
*****
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 909



« Respuesta #15 : 28 de Marzo de 2008, 10:54:28 »

Yo tambien lo voy a probar, para cosas de casa su utilidad es limitada, pero para proyectos de verdad... creo que no tiene precio.

Habia visto cosas parecidas para proyectos de instalaciones industriales, no sabia que existieran para software.
En línea


Tutoriales y proyectos de electrónica
RedPic
Administrador
DsPIC33
*******
Desconectado Desconectado

Sexo: Masculino
Tibet Tibet

Mensajes: 4876



WWW
« Respuesta #16 : 29 de Marzo de 2008, 08:50:48 »

- Descargandooo -

Un tutorial por favoooorrr  DIegoooo amiiggooooo  lol

Miguel Santiago: En cuanto tenga un hueco, ahora estoy de trabajo hasta mas allá de lo razonable, te pongo un hiper-ejemplo: Un programa completo "doxygenado" y la documentación que se genera. De todas formas el ejemplo mini lo tienes en el que puse en el primer post sobre el programa del 485.  Mr. Green

En línea

Contra la estupidez los propios dioses luchan en vano. Schiller
Mi Güeb : Picmania
samshiel_pic
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 431



« Respuesta #17 : 27 de Abril de 2008, 11:20:05 »

Hola chicos que tal??
pues llevo ya un rato liado con el doxigen y no consigo los resultados que tienes tu diego no me llega a salir todo el codigo c, no me salen las mismas funciones, vamos que ni idea de que opciones tengo que utilizar para que me saga como a ustedes.
Os dejo los resultados para que veais lo que os digo.
En línea

Ni duermo ni como en el foro, ni machaco teclados, ni soy un ser supremo, ni etc, etc...  (lol jejeje lol)pero aqui estoy para lo que pueda ayudar.  

ESPAÑA - ANDALUCIA - SEVILLA

Saludos CANDI.
samshiel_pic@todopic.zzn.com
migsantiago
Moderador Global
DsPIC33
*****
Desconectado Desconectado

Sexo: Masculino
Mexico Mexico

Mensajes: 6836



WWW
« Respuesta #18 : 27 de Abril de 2008, 11:31:03 »

Miguel Santiago: En cuanto tenga un hueco, ahora estoy de trabajo hasta mas allá de lo razonable, te pongo un hiper-ejemplo: Un programa completo "doxygenado" y la documentación que se genera. De todas formas el ejemplo mini lo tienes en el que puse en el primer post sobre el programa del 485.  Mr. Green

Gracias Diego, si me gusta la aplicación talvez la use para documentar los programas para mi tesis.  Mr. Green
En línea

samshiel_pic
Colaborador
PIC18
*****
Desconectado Desconectado

Sexo: Masculino
España España

Mensajes: 431



« Respuesta #19 : 30 de Abril de 2008, 03:10:39 »

Pues haber si a ti te va mejor que a mi migsantiago.

Os adjunto una imagen de lo generado por doxigen y es que no entiendo por que no me salen las lineas de introduccion que estan comprendidas entre el 00001 y el 00043. Pero es que no salen ninguna explicacion del programa en él.

No se haber si me podeis ayudar por que ni no tengo ni papa, jejejeje.

« Última modificación: 30 de Abril de 2008, 03:17:47 por samshiel_pic » En línea

Ni duermo ni como en el foro, ni machaco teclados, ni soy un ser supremo, ni etc, etc...  (lol jejeje lol)pero aqui estoy para lo que pueda ayudar.  

ESPAÑA - ANDALUCIA - SEVILLA

Saludos CANDI.
samshiel_pic@todopic.zzn.com
TODOPIC
   

 En línea
Páginas: [1] 2 Imprimir 
« anterior próximo »
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC XHTML 1.0 válido! CSS válido!
Página creada en 0.109 segundos con 22 consultas.