Aby tworzyć bardziej bezpieczny kod można stosować programowanie kontraktowe. Jest to sposób organizowania kodu, który głównie polega na tym, aby przed wykonaniem operacji i po wykonaniu operacji sprawdzić status aplikacji. Mowa tu o wczesnym wykryciu potencjalnego źródła błędu.
Do implementacji kontraktów stosuje się asercje( ta strona przedstawa to od strony języka C) i wyjątki.
Jednak stosowanie wyjątków do tego celu jest nieco żmudne, bo dla każdego postawionego warunku trzeba rzucać osobny wyjątek. Z resztą taki kod nie czyta się najlepiej.
W bibliotekach guava od google można znaleźć ciekawe rozwiązanie dla tej sytuacji. Mowa o preconditions.
Implementacja tego rozwiązania jest bardzo prosta, bo z reguły opiera się na opakowaniu rzutu wyjątkiem przez statyczną funkcję. Poniższy kod przedstawia moje rozwiązanie w wersji dla AS3.
Brak komentarzy:
Prześlij komentarz