2009-11-03 13 views
247

¿Hay alguna forma de agregar referencias a uno o más de los parámetros de un método desde el cuerpo de la documentación del método? Algo así como:¿Cómo agregar una referencia a un parámetro de método en javadoc?

/** 
* When {@paramref a} is null, we rely on b for the discombobulation. 
* 
* @param a this is one of the parameters 
* @param b another param 
*/ 
void foo(String a, int b) 
{...} 

Respuesta

290

Por lo que puedo decir después de leer the docs for javadoc no hay tal característica.

No utilice <code>foo</code> como se recomienda en otras respuestas; puede usar {@code foo}. Esto es especialmente bueno saber cuando se refiere a un tipo genérico como {@code Iterator<String>} - seguro que se ve mejor que <code>Iterator&lt;String&gt;</code>, ¿no es así?

8

Creo que se puede escribir su propia doclet o taglet para apoyar este comportamiento.

Taglet Overview

Doclet Overview

+13

y hacer una solicitud de extracción de javadoc :) –

53

Como se puede ver en la Fuente de Java de la clase java.lang.String:

/** 
* Allocates a new <code>String</code> that contains characters from 
* a subarray of the character array argument. The <code>offset</code> 
* argument is the index of the first character of the subarray and 
* the <code>count</code> argument specifies the length of the 
* subarray. The contents of the subarray are copied; subsequent 
* modification of the character array does not affect the newly 
* created string. 
* 
* @param  value array that is the source of characters. 
* @param  offset the initial offset. 
* @param  count the length. 
* @exception IndexOutOfBoundsException if the <code>offset</code> 
*    and <code>count</code> arguments index characters outside 
*    the bounds of the <code>value</code> array. 
*/ 
public String(char value[], int offset, int count) { 
    if (offset < 0) { 
     throw new StringIndexOutOfBoundsException(offset); 
    } 
    if (count < 0) { 
     throw new StringIndexOutOfBoundsException(count); 
    } 
    // Note: offset or count might be near -1>>>1. 
    if (offset > value.length - count) { 
     throw new StringIndexOutOfBoundsException(offset + count); 
    } 

    this.value = new char[count]; 
    this.count = count; 
    System.arraycopy(value, offset, this.value, 0, count); 
} 

referencias de parámetros están rodeados por <code></code> etiquetas, lo que significa que el La sintaxis de Javadoc no proporciona ninguna forma de hacer tal cosa. (Creo que String.class es un buen ejemplo del uso de javadoc).

+22

Esto es viejo. La cadena está documentada con {@code foo} –

+2

La etiqueta no hace referencia a un parámetro específico. Está formateando la palabra "Cadena" en el texto "buscando código". – Naxos84

10

La forma correcta de referirse a un parámetro del método es la siguiente:

enter image description here

+0

Esto no agrega nada a las respuestas existentes. Por favor borralo. – suriv

+7

No solo responde la pregunta, sino que explica visualmente cómo modificar Javadoc con un parámetro utilizando un IDE como Intellij. Esto será útil para los buscadores que buscan una respuesta. –

+0

En Eclipse no funciona. Pero es una buena respuesta, sin embargo –

Cuestiones relacionadas