Написание 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);
...