Pytania oznaczone «assertions»

Asercje umożliwiają przetestowanie założeń dotyczących programu. Na przykład, jeśli napiszesz metodę obliczającą prędkość cząstki, możesz stwierdzić, że obliczona prędkość jest mniejsza niż prędkość światła.

38
Używasz asercji zamiast rzucać wyjątkami?

Często, gdy piszę funkcje, chcę się upewnić, że dane wejściowe są prawidłowe, aby wykryć takie błędy jak najwcześniej (uważam, że są to tak zwane warunki wstępne). Kiedy warunek wstępny zawiedzie, zawsze rzucałem wyjątek. Ale zaczynam wątpić, czy jest to najlepsza praktyka, a jeśli nie, twierdzenia...

33
Czy można napisać zbyt wiele twierdzeń?

Jestem wielkim fanem pisania assertczeków w kodzie C ++ jako sposobu na złapanie przypadków podczas programowania, które nie mogą się zdarzyć, ale zdarzają się z powodu błędów logicznych w moim programie. Jest to ogólnie dobra praktyka. Zauważyłem jednak, że niektóre funkcje, które piszę (które są...

20
Powinny istnieć twierdzenia w kompilacjach wersji

Domyślnym zachowaniem assertw C ++ jest brak działania w kompilacjach wersji. Zakładam, że dzieje się tak ze względu na wydajność i być może w celu uniemożliwienia użytkownikom wyświetlania nieprzyjemnych komunikatów o błędach. Twierdzę jednak, że sytuacje, w których assertstrzeliłby, ale został...

19
Czy zbyt wiele stwierdzeń ma zapach?

Naprawdę zakochałem się w testach jednostkowych i TDD - jestem zainfekowany testowo. Jednak testy jednostkowe są zwykle stosowane w metodach publicznych. Czasami jednak muszę przetestować pewne założenia-twierdzenia również metodami prywatnymi, ponieważ niektóre z nich są „niebezpieczne”, a...

13
Jak mogę poprawić sprawdzanie błędów i obsługę?

Ostatnio staram się zrozumieć, jaka jest właściwa ilość sprawdzania i jakie są właściwe metody. Mam kilka pytań na ten temat: Jaki jest właściwy sposób sprawdzania błędów (złe dane wejściowe, złe stany itp.)? Czy lepiej jest jawnie sprawdzać błędy, czy używać funkcji takich jak asercje, które...

12
Python - aser vs if & return

Piszę skrypt, który robi coś z plikiem tekstowym (to, co robi, nie ma znaczenia dla mojego pytania). Więc zanim zrobię coś z plikiem, chcę sprawdzić, czy plik istnieje. Mogę to zrobić, nie ma problemu, ale chodzi bardziej o estetykę. Oto mój kod, implementujący to samo na dwa różne sposoby. def...

10
kod umów / stwierdzeń: co ze zduplikowanymi czekami?

Jestem wielkim fanem pisania stwierdzeń, umów lub wszelkiego rodzaju czeków dostępnych w języku, którego używam. Jedną z rzeczy, która mnie trochę niepokoi, jest to, że nie jestem pewien, jaka jest powszechna praktyka postępowania z duplikatami kontroli. Przykładowa sytuacja: najpierw piszę...