Написание Javadoc для функций с (смоделированными) необязательными аргументами / аргументами по умолчанию

У меня есть Java-оболочки для некоторого кода C++, в котором я имитирую аргументы по умолчанию, вручную перегружая соответствующие методы. [Пример как в Поддерживает ли Java значения параметров по умолчанию?.] В одном случае в C++ fn есть 3 необязательных аргумента, поэтому мне пришлось написать 8 методов на Java.

Теперь я хочу написать JavaDocs для указанного метода. Есть ли способ избежать написания одного и того же текста 8 раз? Помимо того, что это было бы многословно, это был бы кошмар обслуживания...

РЕДАКТИРОВАТЬ: вот игрушечный пример, иллюстрирующий подписи для методов:

void foo(int i, String s, double d);
void foo(int i, String s);
void foo(int i, double d);
void foo(int i);
void foo(String s, double d);
void foo(String s);
void foo(double d);
void foo();

1 ответ

Решение

Одним из решений является запись полной документации Javadoc в методе со всеми параметрами, а затем ссылка на эту документацию в перегрузках, используя @link и / или @see директивы, например:

/**
 * The parameters in the wrapped C++ method are all  optional,
 * so we had to write an overload for each parameter combination.
 * @param i the int parameter used for x. 
 * @param s the string parameter used for y.
 * @param d the double parameter used for z.
 */
void foo(int i, String s, double d);

/**
 * Overload of the {@link #foo(int, String, double)} method with a default {@code d}.
 */
void foo(int i, String s);

/**
 * @see #foo(int, String, double)
 */
void foo(int i, double d);

...
Другие вопросы по тегам