2011-03-09 27 views
11

Non voglio scrivere commenti javadoc ridondanti. Come puoi vedere, @param x è in un modo ridondante. Esiste un markup javadoc per impostare un punto di riferimento da @param x in classe B-@param x in classe A o ho il permesso di lasciare solo fuori?Param di riferimento Javadoc da un altro metodo

/** 
* Class A constructor 
* 
* @param x position on x-axis 
*/ 
public A(final int x) { 
    this.x = x; 
} 

/** 
* Class B constructor 
* 
* @param x position on x-axis 
* @param y position on y-axis 
*/ 
public B(final int x, final int y) { 
    super(x); 
    this.y = y 
} 
+0

vorrei fare un passo indietro e chiedere il motivo per cui occorre documentare i parametri che sembrano avere un significato evidente. Se il codice è auto-documentato in base ai nomi scelti, JavaDoc è in gran parte irrilevante. –

+0

@John Questo è un esempio minimo, solo per illustrazione. – Matthias

+0

Nota a me stesso: [{} @inheritDoc] (http://docs.oracle.com/javase/1.4.2/docs/tooldocs/windows/javadoc.html#inheritingcomments) almeno permette la copia di un documento di un metodo override . – Matthias

risposta

3

Non si può lasciare fuori, javadoc non è intelligente, è solo analizza i commenti, non può dire che il parametro x per il costruttore B è lo stesso che l'Un costruttore, anche se non ci è l'eredità nel gioco.

Io non credo che ci sia un modo per "fattorizzare" questa operazione. Non vi resta che scrivere tutti loro, mi spiace ...

1

Con i metodi dovrebbe funzionare: se si sovrascrive o implementare un metodo, i parametri vengono copiati se non previsto.

Costruttori non sono ereditate, e ancor meno a un costruttore con altri tipi di parametri. Javadoc non ha modo di sapere che si passa il parametro a un altro costruttore, poiché non interpreta il contenuto dei metodi/costruttori, solo l'interfaccia esterna.

Quindi, suppongo che sei sfortunato, se non vuoi scrivere il tuo doclet o cambiare il doclet standard (e anche allora dovresti in qualche modo dire quale costruttore di ereditare i parametri da). (Sarebbe un'aggiunta utile, anche per più metodi simili nella stessa classe, penso.)

1

Se si esegue l'override di un metodo genitore, se non si include la maggior parte degli IDE javadoc mostrerà la javadoc per il metodo genitore invece. Altrimenti non c'è modo di definire/riferirsi alle variabili nella sintassi javadoc.

Problemi correlati