Page 1 of 1
Documentador automático de código?
Posted: Mon Sep 21, 2020 2:31 pm
by AngelSalom
Vuelvo con consultas, tenéis alguna experiencia con documentadores atomáticos de código?
Estoy testeando doxygen y naturaldocs ahora mismo con resultados bastante prometedores.
Re: Documentador automático de código?
Posted: Tue Sep 22, 2020 3:10 pm
by Otto
Hello Angel,
Gracias por tu aporte. Miré los productos.
Recibí algunas sugerencias para mi propio programa "HARBOURINO".
En "HARBOURINO" utilizo
|- para comentarios
en "incluir archivos" - esto no se muestra en el archivo prg de la versión "parcheada".
VS-Code puede abrir enlaces http directamente desde el editor.
Creo que puedo agregar aún más comentarios de esa manera.
Gracias nuevamente por abordar la documentación del código fuente.
Best regards,
Otto
La documentación se trata.
Re: Documentador automático de código?
Posted: Tue Sep 22, 2020 3:55 pm
by AngelSalom
Mi intención es darle un uso interno para documentar las clases de uso genérico.
Con Natural docs (
https://naturaldocs.org/) estoy consiguiendo un resultado muy bueno simplemente ajustando algunos parámetros de la configuración :
Re: Documentador automático de código?
Posted: Tue Sep 22, 2020 6:22 pm
by cnavarro
Gracias Angel por compartirlo
Qué configuración es necesaria para utilizarla con Harbour?
Re: Documentador automático de código?
Posted: Wed Sep 23, 2020 6:25 am
by AngelSalom
En Natural docs básicamente hay que crear un nuevo lenguaje con ciertas directivas para que "entienda" los comentarios de harbour.
En mi caso me bastó con modificar languages.txt y añadir :
Code: Select all
Language: Harbour
Extensions: prg inc ch c
Shebang String: Harbour
Line Comment: //
Block Comment: /* */
Member Operator: ::
Case Sensitive: No
Aquí un pequeño prg con comentarios de ejemplo:
Code: Select all
/* CLASS: TClasePruebas
Este es la descripción de una clase que no hace nada
Ejemplo de uso :
--- Code
Local oClas:=TClasePruebas():New()
oClas:Activate(.T.)
oClas:End()
---
*/
#include "fivewin.ch"
CLASS TClasePruebas FROM TWindow
METHOD New() CONSTRUCTOR
METHOD Activate(lNow)
METHOD End()
END CLASS
// Group: EXPORTED METHODS
/* FUNCTION: New()
Inicia la clase*/
METHOD New() CLASS TClasePruebas
Return (nil)
/* FUNCTION: Activate(lNow)
Activa la clase
Parámetros:
lNow - Activa la clase inmediatamente
Devuelve:
nil
*/
METHOD Activate(lNow)
Return (nil)
// Group: PROTECTED METHODS
/* FUNCTION: End()
Destruye el objeto
*/
METHOD End() CLASS TClasePruebas
Return (nil)
// Group: OTROS Datos
/*
Database Column: MyColumn
--- Prototype ---
TopicID INTEGER PRIMARY KEY NOT NULL
-----------------
Description of MyColumn
*/