2.3 Assertions

metoda assert powinna być używana do walidacji argumentów metod prywatnych, nie powinna sprawdzac argumentow metod publicznych. Walidacja argumentów metod publicznych powinna działać w oparciu o IllegalArgumentException i inne wyjątki. W przypadku metod publicznych może przyjść każdy rodzaj danych. Metody prywatne zwykle spodziewają się konkretnych wartości bo wynika to z logiki biznesowej.
Asercji nie trzeba importować.

występują w dwóch wersjach: assert(expession1)
oraz assert(xpression1):expression2;

expression1 musi zwracac true or false (lub być takim obiektem lub literalem)
expression2 musi zwracać wartość, ta wartość przekazywana jest do konstruktora AssertionError a ten woła na nim
metode toString() a treść wyświetla jako detailed message.

włączenie: java -ea Main
java -enableassertions com.Main

tylko w kodzie developerskim, na produkcji sie wyłącza.
Mogą mieć dodatkowe obiążenie jesli wykonują operacje na dużej ilości elementów
debuging kodu
lepiej czytelny, lepszy maintenance

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>