Перейти к основному содержимому

Добавьте ссылку на параметры метода в Javadoc

· 4 мин. чтения

1. Обзор

На языке Java мы можем генерировать документацию в формате HTML из исходного кода Java с помощью Javadoc . В этом руководстве мы узнаем о различных способах добавления ссылки на параметры метода в Javadoc.

2. Различные способы добавления ссылки на параметр метода

В этом разделе мы поговорим о добавлении ссылки на параметр метода в Javadoc. Мы увидим использование встроенного тега {@code} и тега стиля HTML </co de> в Javadoc.

Далее мы увидим, как теги {@code} и <code> позаботятся о нескольких особых случаях:

  • отображение специальных символов '<', '>' и '@'
  • отступы и разрывы строк
  • обработка экранирования кодов HTML — например, <, который переводится как символ '<'

2.1. Тег {@code }

{@code text} — это встроенный тег, который был включен в JDK 1.5 .

Тег {@code} форматирует обычный текст шрифтом кода. {@code abc} эквивалентен <code>{@literal abc}</code> .

Нам не нужно вручную экранировать какой-либо специальный символ, используемый внутри тега {@code} .

Когда мы используем тег {@code} , он:

  • отображает '<' и '>' правильно
  • отображает '@' правильно
  • не нужно экранировать специальные символы с помощью числовых кодов HTML
  • более читабелен и лаконичен

Давайте создадим простой метод в классе и добавим немного Javadoc, используя тег {@code} :

/**
* This method takes a {@code String}
* and searches in the given list {@code List<String>}
*
* @param name
* Name of the person
* @param avengers
* list of Avengers names
* @return true if found, false otherwise
*/
public Boolean isAvenger(String name, List<String> avengers) {
return avengers.contains(name);
}

Здесь мы видим, что нам не нужно экранировать специальные символы '<' и '>'.

Сгенерированный Javadoc будет отображать вывод HTML как:

**

./cf03fbede19f52c9e08b35c432baef4b.png

**

Точно так же мы можем видеть, что нам не нужно экранировать символ «@»:

/**
* This is sample for showing @ use without any manual escape.
* {@code @AnyAnnotaion}
*
*/
public void javadocTest() {
}

Это будет отображаться в HTML Javadoc как:

./ac8280d0326c40e6177e7992810e2972.png

В случае многострочного фрагмента кода в Javadoc {@code} не будет поддерживать отступ и разрыв строки. Чтобы преодолеть это, мы можем использовать HTML-тег <pre> вместе с {@code} . Однако в этом случае нам нужно экранировать символ «@».

2.2. Тег <code >

<code> — это тег стиля HTML, поддерживаемый Javadoc.

Когда мы используем тег <code> , он:

  • неправильно отображает '<' и '>'
  • требует экранирования специальных символов с помощью числовых кодов HTML
  • не так читабельно

Давайте снова рассмотрим тот же пример. Мы видим, что в сгенерированном Javadoc HTML отсутствует параметризованный тип <String> после списка в нашем абзаце :

/**
* This method takes a <code>String</code>
* and searches in the given <code>List<String></code>
*
* @param name
* Name of the person
* @param avengers
* list of Avengers names
* @return true if found, false otherwise
*/
public Boolean isAvenger(String name, List<String> avengers) {
return avengers.contains(name);
}

./1e93b6b743e1aa780429b487d386cc54.png

Здесь, если мы экранируем специальные символы '<' и '>' в нашем комментарии к методу, тогда он отобразит правильный <String> в Javadoc:

/**
* This method takes a <code>String</code>
* and searches in the given <code>List<String></code>
*
* @param name
* Name of the person
* @param avengers
* list of Avengers names
* @return true if found, false otherwise
*/
public Boolean isAvenger(String name, List<String> avengers) {
return avengers.contains(name);
}

./79d90a29ffd7a1542d2aed286256a705.png

3. Заключение

В этом руководстве мы впервые рассказали о том, как использовать {@code} и <code> для ссылки на параметры метода в Javadoc. Затем мы описали обработку спецсимволов этими тегами. В заключение, теперь мы понимаем, как добавлять ссылки на параметры метода в Javadoc, и мы видим, что {@code} лучше, чем <code> в любой день.