Przebudowałem klasę i przeniosłem kod z konstruktora do statycznego inicjalizatora. Co powinienem zrobić z javadoc, który był na konstruktorze? Czy jest możliwe dodanie javadoc do statycznego inicjalizatora?Jak mogę dodać javadoc do inicjalizatora statycznego w Javie?
Odpowiedz
Przede wszystkim, to jest dyskusyjne czy inicjalizatory statyczne są dobre praktyki na początek.
Jeśli jednak zdecydujesz się na ich użycie, dodam dokumentację do JavaDoc na poziomie klasy. Inicjatory statyczne mogą, w zależności od sposobu ich wdrożenia, powodować działania niepożądane. Jeśli używasz statycznych inicjalizatorów z efektami ubocznymi, zachowanie powinno być udokumentowane dla konsumenta wspomnianej klasy.
JavaDoc jest przeznaczony przede wszystkim do dokumentowania interfejsu klasy. Komentarze JavaDoc muszą poprzedzać deklarację klasy, pola, konstruktora lub metody.
Statyczny inicjator nie jest częścią interfejsu. Jest to część implementacji klasy.
Możesz udokumentować swoje zachowanie w dokumentacji klas, jeśli chcesz.
Statyczny inicjator klasy może mieć efekty uboczne, które warto udokumentować. Chociaż można się spierać, czy inicjatory statyczne są dobrą praktyką na początek. – Waldheinz
Czy prywatne metody i pola są częścią interfejsu? – tttppp
@tttppp Są one "prywatne", a zatem nie są częścią interfejsu. – Waldheinz
Powiedziałbym ważne części tej dokumentacji powinny zostać przeniesione do dokumentacji klasy:
/**
* Your text here.
*/
public class SomeClass {
static {
/* your static initalizer */
}
}
Nie ma czegoś takiego jak konstruktor statyczny w Javie (as oposed to C#), dlatego należy udokumentować to zachowanie na poziomie klasy.
Ponadto, ponieważ inicjalizator statyczny najprawdopodobniej zainicjalizuje niektóre pola statyczne, jeśli te pola są publiczne, chronione (lub pakietowo prywatne, w zależności od konwencji widoczności JavaDoc), należy podać szczegóły dotyczące sposobu, w jaki te pola są zainicjalizowane w oparciu o zachowanie statycznego inicjalizatora.
- 1. Prawidłowe zastosowania dla inicjalizatora statycznego?
- 2. Przekaż argument do konstruktora statycznego w Javie?
- 3. Jak dodać separator do JComboBox w Javie?
- 4. jaki jest ekwiwalent C# statycznego {...} w Javie?
- 5. Nie mogę dodać mapowania statycznego portu w mojej aplikacji C#
- 6. Jak dodać słoik, źródło i Javadoc do lokalnego repozytorium Maven?
- 7. Jak mogę zablokować muteks na liście inicjalizatora?
- 8. Jak dodać nagłówki CORS do serwera statycznego połączenia?
- 9. Jak mogę odnieść się do wartości końcowego pola statycznego w klasie?
- 10. jak użyć inicjalizatora do skonfigurowania puli wieloprocesowej?
- 11. Jak dodać atrybut do węzła XML w Javie 1.4
- 12. Jak dodać lewe wypustki do liczby w Javie?
- 13. Jak dodać wszystkie elementy tablicy String do wektora w Javie?
- 14. Jak dodać źródło + javadoc dla Androida-support-v7?
- 15. Jak przejść do folderu statycznego w Laravel
- 16. Jak mogę odwrócić trasę pliku statycznego?
- 17. Jak użyć odwołania do metody do importu statycznego?
- 18. Jak zrobić (statyczny) blok inicjalizatora strictfp?
- 19. Dostęp do statycznego atrybutu statycznego typu ogólnego
- 20. Użycie inicjalizatora w teście jednostki?
- 21. Jak cofnąć System.loadLibrary w Javie
- 22. Jaki jest wpływ statycznego ostatecznego przebiegu przejściowego w Javie?
- 23. Jak mogę dodać podpowiedź Do DataGridTextColumn
- 24. Javadoc do dokumentacji projektu
- 25. Jak mogę dodać pole logiczne do MySQL?
- 26. Jak mogę dodać klasę do CodeIgniter Anchor
- 27. Jak mogę dodać nazwę do środowiska?
- 28. Jak używać Gradle do generowania JavaDoc w Android Studio?
- 29. Wizualizator Debuggera do generowania kodu inicjalizatora obiektów
- 30. Jak mogę dodać elementy do odbicia plastra?
+1 za "nieprzyjemne efekty uboczne" – Waldheinz