2008-08-27 17 views
31

Tengo una gran base de código sin Javadoc, y quiero ejecutar un programa para escribir un esqueleto con la información básica de Javadoc (por ejemplo, para el parámetro de cada método escriba @param ...), así que solo tengo que llena los huecos que quedangenerador de plantillas Javadoc

¿Alguien sabe una buena solución para esto?

Editar:

JAutodoc es lo que estaba buscando. Tiene tareas Ant, un plugin de Eclipse y usa Velocity para la definición de la plantilla.

Respuesta

37

El plug-in para Eclipse JAutodoc hace exactamente lo que necesita, pero con una granularidad paquete:

haga clic derecho en un paquete, seleccionar "Añadir Javadoc para los miembros ..." y se añadirá el esqueleto.

Existen numerosas opciones interesantes: plantillas para javadoc, la adición de un TODO en la cabecera de cada archivo que dice: "plantilla javadoc, se debe llenar ...", etc.

+1

He leído la documentación de este complemento. Ofrece formas muy automatizadas de agregar comentarios JavaDoc a tus métodos, variables, parámetros, etc. Pero si no editas los comentarios generados automáticamente para hacerlos " mejor explicativo ", no es más que un montón de ruido de línea en su código ... – Taner

2

Si hace clic derecho en el origen de un archivo en Eclipse, tiene una opción de generación de Javadoc en el menú de origen.

+1

Yo no lo veo en el menú de fuente, es que hay un ajuste que me falta? – Joe

+1

No lo sé - siempre ha estado ahí para mí :( – Silas

+2

Para mí, es Fuente -> Generar elemento Comentario – Victor

4

Puede configurar Eclipse para mostrar advertencias para cosas que carecen de javadoc, o tienen javadoc que no tiene toda la información, o tiene información incorrecta. También puede insertar plantillas para que llene.

No es exactamente la herramienta que solicitó, pero probablemente sea mejor porque no terminará con esqueletos vacíos en los métodos que se olvidó.

Puede lograr esto investigando y editando la página de preferencias más allá de la ruta Ventana> Preferencias> Java> Compilador> Javadoc para su área de trabajo. La captura de pantalla de la página de preferencias es el siguiente:

The so-called Javadoc preference page

Para más información acerca de los artículos en esta pantalla por favor siga el siguiente enlace:

Java Compiler Javadoc Preferences Help

+0

¿cómo se configura esto? – Joe

+0

Se olvidó de mencionar cómo esto está habilitado. ¿Cómo se obtiene esta característica? – trusktr

+0

Se agregó una captura de pantalla y más información. – Taner

21

creo Javadoc vacío generación de auto-es un antipatrón y debería desalentarse; le da al código la apariencia de estar documentado, pero solo agrega ruido a la base de código.

Recomendaría, en cambio, que configure su editor de código para que lo ayude, por método y por clase, a utilizar cuando realmente escribe el javadoc (un comentarista señaló que la función de Eclipse lo hace).

+0

¿Podría explicar cómo configurar algo por método y por clase, como mencionó? – trusktr

+1

Las personas aquí indican que es un fea tura de Eclipse. Yo codifico (ed) Java usando vim, que es bastante configurable; usted simplemente crea una macro que, cuando está en un método o nombre de clase, agrega el texto repetitivo de Javadoc para completar. Honestamente, sin embargo, escribir una barra y un asterisco no es realmente el cuello de botella para escribir buena documentación – davetron5000

10

También puede colocar el cursor en la línea por encima de un método que le gustaría a JavaDoc, a continuación, escriba:

/** 

y pulse Intro. Esto generará su código JavaDoc.

+3

Alt + Shift + J –

+3

En una Mac, es ⌘-alt-J –

2

Seleccione el método de que desea añadir Javadoc y alt +Shift +j, crea automáticamente el comentario Javadoc.

Ejemplo:

/** 
    * @param currDate 
    * @param index 
    * @return 
    */ 
    public static String getAtoBinary(String currDate, int index){ 
     String HourA = "0"; 
     try{ 
      String[] mydate = currDate.split("/"); 
      HourA = mydate[index].substring(1, 2); 
     }catch(Exception e){ 
      Log.e(TAG, e.getMessage()); 
     } 
     return HourA; 
    }