Chciałem sprawdzić niektóre najlepsze praktyki programowania Scala, ponieważ jestem nowy w Scala. Czytałem online o tym, jak Scala zazwyczaj nie używa wyjątków, z wyjątkiem "wyjątkowych" okoliczności (które nie obejmują sprawdzania parametrów). Obecnie w moim projekcie korzystam z dużej ilości require
, więc zastanawiam się, jaki byłby lepszy sposób sprawdzania typu.Scala Constructor/Metoda sprawdzania parametrów
Na przykład, jeśli mam klasy
class Foo(String bar){
require(StringUtils.isNotEmpty(bar), "bar can't be empty")
}
jakie są moje alternatywy dla sprawdzenia poprzeczkę? Czy utworzę obiekt towarzyszący, taki jak Czy mogę zamiast tego użyć opcji?
Ponadto, w przypadku metod scala, w jaki sposób sprawdzić parametr metody? Jeśli już zwróciłem opcję, czy po prostu zwracam pustą opcję, jeśli otrzymam zły parametr? Czy nie oznacza to, że muszę sprawdzić pustą opcję, gdy używam zwrotu metody i czy zgłoszenie wyjątku nie pozwoli na bardziej konkretny komunikat? (np. wyjątek środowiska wykonawczego nie może używać wartości null).
Ja też się zastanawiam nad tym – iCodeLikeImDrunk
@eddiemundorapundo jak to by działało w przypadku metod? W przypadku zajęć chciałbym po prostu zastosować zastosowanie, prawda? – jstnchng
Ugh przepraszam za skasowanie mojego komentarza Nie widziałem Try/Success/Failure od czasu ostatniego użycia Scala. Try/Success/Failure wydaje się być podobny, który jest podobny do opcji. W twoim przykładzie wygląda na to, że będziesz musiał uzyskaćOrElse() w połączeniu z Foo(), aby uzyskać obiekt Foo lub możesz coś zrobić z obiektem Foo bezpośrednio, używając Foo(). FlatMap (...) i zwróć kolejną próbę (która może pochodzić z twoich metod), a następnie łańcuch więcej map/filtrów/whatevers. – eddiemundorapundo