2009-03-21 34 views
89

¿Hay algo como dOxygen/Javadoc? ¿Qué ha usado todo el mundo que ha funcionado bien?¿Qué opciones hay disponibles para documentar su código Javascript?

+0

he implementado algunos de los generadores de documentos JavaScript [jsdoc, YUIDoc, Docco], aquí están algunos de mis hallazgos: http://www.markupjavascript.com/2014/02/ js-documentation-generator-tools-jsdoc-yuidoc-docco.html –

+0

Uso http://ortelius.marten.dk. Es bastante fácil de instalar y usar (Windows), que a un lechón de GUI me gusta :) –

+0

También hay [docco] (http://jashkenas.github.com/docco/) (o la versión de Ruby [rocco] (http : //rtomayko.github.com/rocco/)) que produce una documentación HTML realmente bonita en un diseño de dos columnas, con resaltado de sintaxis. No hay reglas estrictas sobre cómo debe estructurarse su documentación; en su lugar, analiza comentarios regulares. Markdown se puede usar para dar estilo a tus documentos con listas, ejemplos de código, etc. Lo estoy usando tanto para javascript como para ruby ​​en este momento, es bastante claro. – foz

Respuesta

67

El gorila de 800 libras de la documentación de Javascript es el JSDoc Toolkit y su sucesor JSDoc 3. La mayoría de la documentación se realiza con etiquetas tipo Javadoc y un prefijo de comentario /**.

Ejemplo:

var MyClass = Class.create(
    /** @lends MyClass# */    // @lends is how you document anonymous classes. 
    { 
    /** 
    * Description of constructor. 
    * @class Description of class. // @class annotation goes anywhere and 
    *        // describes the whole class. 
    * @constructs     // This is a constructor. 
    */ 
    initialize: function(arg0, arg1) { 
     //... 
    }, 

    /** A method. */ 
    myFunc: function() {}, 

    /** An instance field. */ 
    myVar: 123 
    } 
); 

Object.extend(MyClass, 
    /** @lends MyClass */ 
    { 
    /** A class method. */ 
    classFunc: function() {} 
    } 
); 
+0

"A partir del 27 de junio de 2010, el proyecto JsDoc Toolkit versión 2 ya no aceptará ningún nuevo ticket de solicitud de funciones. Cualquier ticket de solicitud de funciones enviado después de esa fecha se eliminará sin comentarios". Hubo un solo cambio en 2012 y un cambio en 2011. ¿Es tan maduro que no necesita nuevos cambios o es esencialmente un proyecto muerto? –

+3

No importa, un amigo me señaló [JSDoc 3 en GitHub] (https://github.com/jsdoc3/jsdoc). –

+2

Agregué el enlace JSDoc 3, espero que no te importe. –

1

Como se describe en this enlace:

Hay otro método que utiliza pseudo código en la sintaxis de Java para documentar javascript ..

  1. utilizar un script para obtener todo el pseudo código de los archivos .js y generar archivos .java con el mismo nombre, el script se adjunta debajo llamado builddoc. Este script realmente obtiene todas las líneas que comienzan con '///', '/ * ', '/', '*', '/' y '//' en el archivo .java. Así un archivo JavaScript como

    //* package ns; 
    /** 
    * Foo. 
    * @param foo foo. 
    */ 
    var foo=function(foo){} 
    //* public void foo(String foo); 
    

se convertirán en

package ns; 
/** 
* Foo. 
* @param foo foo. 
*/ 
public void foo(String foo); 

Y ahora Doxygen puede procesar en forma java. Debe usar FILE_PATTERNS = * .java en su configuración doxygen para decirle a doxygen que analice todos los archivos .java.

builddoc:

#!/bin/bash 

DIRs="./" 

if [ $# -ne 0 ] 
then 
    [email protected] 
fi 

for DIR in $DIRs; do 

    JSs=`find $DIR -name "*.js"` 

    for JS in $JSs; do 
    DOC=`echo $JS|sed 's/\(.*\)\.js/\1.java/g'`; 
    if [ $JS -nt $DOC ]; then 
     echo "rebuild $DOC" 
     grep -e '^\s*\(///\|//\*\|/\*\*\| \* \| \*/\)' $JS | sed 's/^\s*\/\/\*\(.*\)$/\1/g'> $DOC 
    fi 
done 

done 
Cuestiones relacionadas