Używam javadocs generowanych przez zadanie Ant Antivirus javadoc
do udokumentowania usługi WWW i chcę wykluczyć niektóre konstruktory z danych wyjściowych. Jak mogę to zrobić?Jak wykluczyć określoną metodę/konstruktora z wyników zadania Ant javadoc?
Odpowiedz
Zobacz odpowiednie Javadoc FAQ entry.
Obecnie nie ma opcji Javadoc ukryć, stłumić lub wykluczyć publicznych członków z javadoc generowane dokumentacji.
Wydawałoby się, nie jest to możliwe w wanilia Javadoc, ale niektóre obejścia są oferowane.
zmienić poziom dostępu metoda metody, a następnie użyć użyć atrybutów filtrowanie dostępu wypoziomowania javadoc
zadania należy private
, package
itd Tylko to zrobić, jeśli ma to sens w kodzie, choć np metoda, która miała niepoprawnie luźne poziomy dostępu.
Dla konstruktorów można na przykład zmniejszyć poziom dostępu do package
, a następnie utworzyć klasę fabryczną w tym samym pakiecie, który zapewnia dostęp do budowy poza pakietem. Klasę fabryczną można łatwo filtrować z javadocs. Coś w stylu hacky, ale działa.
Nie można tego zrobić w przypadku publicznych metod. Standardową praktyką (nawet w kilku klasach JDK) jest wskazanie, że metoda lub konstruktor nie jest przeznaczona do użytku publicznego.
Jest plan to add an @exclude tag in the future:
@exclude - dla API mają być wyłączone z generacji przez Javadoc. Programista wyznaczy klasę, interfejs, konstruktora, metodę lub pole z @exclude. Obecność tagu spowodowałaby wyłączenie interfejsu API z wygenerowanej dokumentacji . Tekst następujący po tagu mógłby wyjaśnić przyczynę wykluczenia, , ale zostałby zignorowany przez Javadoc. (. Dawniej zaproponowany jako @hide, ale Określenie "hide" jest bardziej odpowiedni dla run-time dynamicznego pokazać/ukryć możliwości) Aby uzyskać więcej dyskusji, patrz: Feature Request #4058216 w Developer Connection.
Daj Chris Nokleberg za ExcludeDoclet spróbować: http://www.sixlegs.com/blog/java/exclude-javadoc-tag.html
Właśnie eksperymentowałem z nim i wydaje rade.
Czy wykluczenie czegoś publicznego z twojej dokumentacji jest tylko odmianą "bezpieczeństwa przez zaciemnienie" (czy raczej "dokumentacja przez zaciemnienie")? Jeśli konstruktor jest częścią interfejsu API twojego kodu, jest on dostępny do użycia. Jeśli dowiedzą się o tym i będą z niego korzystać, czy to ich wina (skoro upubliczniłaś je w pierwszej kolejności)?
Jeśli możesz zmienić widoczność konstruktora lub go całkowicie usunąć, poszedłbym po to. Jeśli nie możesz usunąć go z interfejsu API, poinformuj go w dokumentacji Javadoc, że nie jest przeznaczony do używania przez usługę internetową.W ten sposób zawarłeś umowę z użytkownikami swojego API, informując o tym, aby jej nie używać.
Lepiej jest udokumentować, że nie należy go używać zamiast go nie dokumentować (jeśli jest publiczny). Nieudokumentowanie go zwiększa ryzyko, że zostanie ono przypadkowo użyte, a następnie kod klienta, który go używa, ulega przerwaniu po zmianie implementacji.
Obecnie najprostszym rozwiązaniem jest uruchomienie komentarza javadoc za pomocą @deprecated
, a następnie przekazanie -nodeprecated
do polecenia javadoc
. Oczywiście może to być niedopuszczalne, jeśli masz faktycznie wycofane elementy, które mimo to chcesz uwzględnić w dokumentacji.
Zamknięcia, które otrzymałem, to użycie Doclava, który ma znacznik @hide, który można określić w dokumentacji metody.
- 1. Jak wykluczyć źródła z zadania javac na ant?
- 2. Pomiar dokumentacji z Javadoc i Ant
- 3. Jak wykluczyć określoną aplikację ze wzmianki ACTION_VIEW?
- 4. prawy sposób, aby wykluczyć R.java z javadoc użyciem Gradle
- 5. Przekazywanie argumentów z "maven" do zadania ant
- 6. Debugowanie zadania Ant od zaćmienia
- 7. Jak ustawić katalog roboczy zadania "junit" Ant?
- 8. Jak korzystać z zadania maven ant od stopniowania?
- 9. Niestandardowa strona index.html javadoc?
- 10. Jak wykluczyć z pliku zipgroupfileset?
- 11. Jak wykluczyć określoną nazwę klasy w selektorze CSS?
- 12. Zatrzymywanie równoległego zadania java za pomocą ant
- 13. SASS CSS poprzez zadania ANT + tworzenie katalogów
- 14. Intellij: Znajdź zastosowania, ale wykluczyć pliki testowe z wyników
- 15. Eclipse Java kompilatora Ostrzeżenia jako ant zadania
- 16. Jak wykluczyć pliki ze ścieżki referencyjnej w Ant?
- 17. Zmiana właściwości maven za pomocą zadania Ant
- 18. ClassPath w Ant dla zadania Javac
- 19. taskdef ant zadania nie można znaleźć
- 20. Jak mogę ograniczyć liczbę wyników o określoną kolumnę w postgreSQL?
- 21. TPL oczekiwanie na zakończenie zadania z określoną wartością zwrotną.
- 22. Czy można wywołać zadanie ant z zadania scriptdef javascript?
- 23. Jak uruchomić i zatrzymać serwer jboss za pomocą zadania Ant?
- 24. Jak mogę przetworzyć wiele shem xsd za pomocą jaxb i zadania Ant xjc Ant?
- 25. opcjonalne zadania ant nie są dostępne na CentOS
- 26. Jak wykluczyć element z FirebaseRecyclerAdapter
- 27. Jak wykluczyć klasę z TestNG?
- 28. Zestaw wyników # getDate() semantyka
- 29. Wykonaj zadanie Ant z Mavenem
- 30. Jak zachować/wyłączyć określoną ścieżkę pakietu podczas korzystania z proguard?
Aby zapobiec nieuprawnionemu udokumentowaniu typów sparametryzowanych, należy sprawdzić tę korektę ExcludeDoclet https://sdgsystems.com/blog/hiding-javadoc-elements-exclude-tag – antgar9