Na czym polega warunkowość sprawdzania, czy asercje są aktywne w Delphi?Jak wykryć w środowisku wykonawczym, jeśli jakaś opcja kompilatora (np. Asercje) była ustawiona na ON?
Chciałbym móc coś zrobić, aby stłumić wskazówek dotyczących nieużywanych zmiennych gdy twierdzenia nie są aktywne w kodzie jak
procedure Whatever;
var
v : Integer;
begin
v := DoSomething;
Assert(v >= 0);
end;
w powyższym kodzie, gdy twierdzenia nie są aktywne, nie jest to wskazówka o zmienna v ma przypisaną wartość, która nigdy nie jest używana.
Kod znajduje się w bibliotece, która będzie używana w różnych środowiskach, więc będę mógł przetestować pod kątem konkretnych stwierdzeń, a nie niestandardowych warunków takich jak DEBUG.
+1 i lol dla nazwy metody "suppress ...". Świetny sposób na stłumienie tych wskazówek. Znacznie lepsze niż dodanie komentarza do jakiejś arbitralnej wypowiedzi, która służy temu samemu celowi. –
@MarjanVenema Tak, staram się faworyzować kod, który eliminuje potrzebę komentowania. –
Dobra sztuczka! Próbowałem owijać Assert w funkcję inline (która również została zoptymalizowana), ale podpowiedź wciąż tam była, a twoja zniknęła! –