programiści Scala mieć kilka opcji przy określaniu wyliczeń:Koncepcja liczenia w Scali - którą opcję wybrać?
- Stosować Scala Enumeration
- Mimic wyliczenia przy użyciu Scala zamknięte obiekty przypadków.
- Zastosowanie Scalaz Enum
- Zastosowanie Java Enumeration
Podczas badania najlepszych praktyk na całym wyliczeń w Scala, natknąłem się na stanowisko Google zatytułowanej Enumerations must DIE a także this blog, który zwraca uwagę na potencjalny problem przy użyciu klasy Scala Enumeration
. Oba te odniesienia rzuciły negatywny cień na klasę Scala Enumeration
.
Opcja 2 wydaje się być bardzo pracochłonna iw odniesieniu do Opcji 3, nie korzystałem jeszcze z biblioteki Scalaz, więc chciałbym poznać doświadczenia, jakie mieli inni przy korzystaniu z Scalaz
Enum
. Ostatnią opcją jest inter-op z Javą, której staram się unikać, ponieważ lubię podejmować purystyczne podejście w programowaniu Scali.
Celem tego posta jest wykorzystanie doświadczenia społeczności w celu uszczegółowienia kontekstu (ów), gdy jedna opcja byłaby preferowana w stosunku do innej, a także w tym kontekście, w których dany konkretny wariant byłby niewłaściwy lub powodują poważne problemy, tak aby można było podjąć świadomą decyzję przy wyborze jednej opcji zamiast drugiej. Nie szukam opinii, ale raczej konkretnego kontekstu (ów) użycia, gdy jedna opcja jest lepsza od drugiej (innych); opinie mogą spowodować zamknięcie tego postu, więc należy tego unikać.
Mam nadzieję na to pytanie. Wydaje się, że powinna istnieć/musi być ostateczna odpowiedź, dla której należy zastosować podejście enum. Niedawno odkryłem raj enum, ale nie próbowałem go, więc rzuciłem go na ring. Uważam, że to pytanie jest ważne, ponieważ przedstawia listę opcji, a nie pytanie o zalecenia. – acjay
Istnieje również sedno Viktora Klanga (https://gist.github.com/viktorklang/1057513) i sedno chaosu3 (https://gist.github.com/chaotic3quilibrium/57add1cd762eb90f6b24). Sądzę, że ta ostatnia ma na celu udoskonalenie tego pierwszego z wyczerpującą kontrolą stwierdzeń "meczowych". – acjay
Napisałem mały przegląd o Wyliczeniach scala i alternatywach, może się okazać, że jest to przydatne: http://pedrorijo.com/blog/scala-enums/ – pedrorijo91