Czy istnieje „oficjalna” rekomendacja, jak nazwać wyliczenia Java?
enum Protocol { HTTP, HTTPS, FTP }
lub
enum Protocols { HTTP, HTTPS, FTP }
Wiem, że w świecie .Net zaleca się używanie liczby pojedynczej, z wyjątkiem wyliczeń, które reprezentują flagi bitowe. Ciekawe, czy w Javie jest coś podobnego.
Powiązane pytanie, które wydaje się być specyficzne dla .Net: liczba pojedyncza czy mnoga dla wyliczeń?
java
enums
naming-conventions
friederbluemle
źródło
źródło
Odpowiedzi:
Wyliczenia w Javie (i prawdopodobnie wyliczenia w ogóle) powinny być w liczbie pojedynczej. Myślenie polega na tym, że nie wybierasz wielu protokołów, ale jeden protokół możliwych wyborów z listy wartości.
Zwróć uwagę na brak liczby mnogiej: http://docs.oracle.com/javase/tutorial/java/javaOO/enum.html
źródło
DAYS
,HOURS
...W ten sam sposób, gdy definiujesz nazwę tabeli w bazie danych lub klasie w Javie, używasz liczby pojedynczej dla wyliczeń, jest to również najlepsza opcja. Zobacz, jak zamierzasz z niego korzystać.
Napiszmy przykład:
W liczbie pojedynczej wyraźnie widać zamiar atrybutu dnia. „dzień” to dzień tygodnia, w którym odbędzie się spotkanie. W przeciwnym razie podpis metody zostałby ustawiony na Dzień (Dzień) i na pewno wiele osób będzie się zastanawiać, czy spotkanie może nastąpić za więcej niż jeden dzień.
Jeśli pracujesz w firmie, masz 48-godzinne zmiany, możesz spróbować zdefiniować coś takiego:
W ten sposób możesz ustawić dni, w które będziesz pracować. Ale nadal będzie wyglądać dziwnie i istnieje lepsza opcja i jest użycie liczby pojedynczej:
Teraz naprawdę pokazujesz znaczenie wyliczenia. Zwykle w każdej domenie przekonasz się, że użycie liczby pojedynczej w wyliczeniu jest najlepszą opcją, ponieważ każda stała w wyliczeniu jest tylko jednym elementem.
Wspominasz także .NET. Wyliczenie „flagi” w .NET oznacza po prostu, że gdy oczekujesz tego wyliczenia jako parametru, tak naprawdę otrzymujesz listę elementów tego wyliczenia (przechowywaną jako liczba całkowita).
Możesz zrobić to samo w Javie, ale wyliczenie nadal będzie liczbą pojedynczą:
Łatwiejszym i bardziej zrozumiałym (choć zużywa więcej pamięci) zrobienie tego w Javie jest po prostu użycie Listy.
źródło