кодовий стиль; ставити javadoc до або після анотації?


183

Я знаю, що це не найважливіша з питань, але я просто зрозумів, що можу поставити блок коментарів javadoc до або після анотації. Що б ми хотіли прийняти як стандарт кодування?

/**
 * This is a javadoc comment before the annotation 
 */
@Component
public class MyClass {

    @Autowired
    /**
     * This is a javadoc comment after the annotation
     */
    private MyOtherClass other;
}

Відповіді:


191

Перед анотацією, оскільки анотація - це код, який "належить" класу. Дивіться приклади з javadoc в офіційній документації.

Ось випадковий приклад, який я знайшов на іншій офіційній сторінці Java :

/**
 * Delete multiple items from the list.
 *
 * @deprecated  Not for public use.
 *    This method is expected to be retained only as a package
 *    private method.  Replaced by
 *    {@link #remove(int)} and {@link #removeAll()}
 */
@Deprecated public synchronized void delItems(int start, int end) {
    ...
}

8
Тут також цікаво - анотація знаходиться в тому ж рядку, що й інші класифікатори методу. Я ніколи не бачив цього робити раніше, але, мабуть, напрошується думка, що до анотацій слід ставитися так само, як і до інших кваліфікованих методик, і, як такий, явадок обов'язково повинен перейти до цього.
ArtOfWarfare

8
Якщо розміщувати ті самі примітки в одному рядку, ви можете швидко вийти з рук, якщо ви використовуєте щось таке важке для приміток, як Джексон. Я розміщую кожну примітку як власний рядок.
ВВ.

17

Я згоден з уже даними відповідями.

Анотації є частиною коду, тоді як javadoc є частиною документації (звідси назва).

Тож для мене вважається розумним зберегти кодові частини разом.


11

Все зводиться до читабельності. На мій погляд, код легше читається з Анотаціями безпосередньо над методом / полем.


11

Окрім стандарту кодування, схоже, що інструмент javadoc не обробляє коментарі javadoc, якщо вони розміщуються після анотацій. Інакше працює добре.


0

Я згоден з усім вищесказаним. Іншим може бути корисно, що шаблони стилів коду IntelliJ (Idea) не вдається як помилково позитивні (коли @throw вказано правильно, це попереджає), так і помилково негативні (коли @throw не вказано, але має бути) при використанні стилю RestEasy анотації Я ставлю свої javadocs над усім іншим, потім анотації, потім код.

Дивіться звіт про помилки тут: https://youtrack.jetbrains.com/issue/IDEA-220520

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.