styl kodowy; umieścić javadoc przed czy po adnotacji?


183

Wiem, że nie jest to najistotniejszy z problemów, ale właśnie zdałem sobie sprawę, że mogę umieścić blok komentarzy javadoc przed adnotacją lub po niej. Co chcielibyśmy przyjąć jako standard kodowania?

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

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

Odpowiedzi:


191

Przed adnotacją, ponieważ adnotacja to kod, który „należy” do klasy. Zobacz przykłady z javadoc w oficjalnej dokumentacji.

Oto przypadkowy przykład, który znalazłem na innej oficjalnej stronie 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
Interesujące tutaj również - adnotacja znajduje się w tym samym wierszu, co inne kwalifikatory dla metody. Nigdy wcześniej tego nie widziałem, ale wydaje się sugerować, że adnotacje powinny być traktowane podobnie jak inne kwalifikatory do metody i jako takie javadoc zdecydowanie powinien je wyprzedzić.
ArtOfWarfare

8
Umieszczenie tych samych adnotacji w tej samej linii może szybko wymknąć się spod kontroli, jeśli używasz czegoś takiego jak Jackson. Każdą adnotację umieszczam w osobnej linii.
WW.

17

Zgadzam się z odpowiedziami już udzielonymi.

Adnotacje są częścią kodu, a javadoc jest częścią dokumentacji (stąd nazwa).

Dlatego dla mnie rozsądne jest utrzymanie razem części kodu.


11

Wszystko sprowadza się do czytelności. Moim zdaniem kod jest bardziej czytelny dzięki Adnotacjom bezpośrednio nad metodą / polem.


11

Oprócz standardu kodowania wydaje się, że narzędzie javadoc nie przetwarza komentarzy javadoc, jeśli są one umieszczone po adnotacjach. W przeciwnym razie działa dobrze.


0

Zgadzam się ze wszystkimi powyższymi. Może być pomocne dla innych, że szablony stylu kodu IntelliJ (Idea) zawodzą zarówno fałszywie dodatnie (gdy @ rzuty są określone poprawnie, ostrzega), jak i fałszywie ujemne (gdy @ rzuty nie są określone, ale powinny być) przy użyciu stylu RestEasy adnotacje. Stawiam moje javadoki ponad wszystko inne, potem adnotacje, a potem kod.

Zobacz raport o błędzie tutaj: https://youtrack.jetbrains.com/issue/IDEA-220520

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.