Warunek - Precondition
W programowaniu komputerowym , A warunek jest warunkiem lub orzeczenie , że zawsze musi być prawdą, tuż przed wykonaniem jakiejś części kodu lub przed operacją w formalnej specyfikacji .
Jeśli warunek jest łamane, efekt sekcji kodu staje się niezdefiniowana, a tym samym mogą lub nie mogą wykonywać swoją zamierzoną pracę. Zabezpieczenia problemy mogą wynikać z niewłaściwych warunków wstępnych.
Często warunki są po prostu zawarte w dokumentacji chorego sekcji kodu. Warunki są czasami testowano przy użyciu osłon lub twierdzeń w samym kodzie, a niektóre języki mają specyficzne konstrukcje składniowe takiego postępowania.
Na przykład: silnia jest zdefiniowana tylko dla liczb całkowitych większych lub równych zeru. Tak więc program, który oblicza silnię numerem wejściowego miałoby przesłanki, że liczba jest liczbą całkowitą i że być większa lub równa zero.
Zawartość
W programowaniu obiektowym
Warunki w obiektowego rozwoju oprogramowania są istotną częścią projektu przez umowy . Wykonanie zamówienia obejmuje także pojęcia postcondition i klasy niezmiennego .
Warunkiem jakiejkolwiek procedury określa wszelkie ograniczenia dotyczące stanu obiektu, które są niezbędne dla pomyślnej realizacji. Z punktu widzenia dewelopera zaprogramować ten stanowi część rutynowego abonenta umowy. Dzwoniący wówczas zobowiązany jest do zapewnienia, że warunek trzyma przed wywołaniem procedury. Nagrodą za wysiłek dzwoniącego jest wyrażona w wywołanym rutyna za postcondition .
przykładem Eiffla
Rutyna w poniższym przykładzie pisemnej w Eiffel bierze jako argument liczbę całkowitą, która musi być prawidłową wartość na godzinę w ciągu dnia, czyli od 0 do 23 włącznie. Warunkiem następujące słowa kluczowego require
. Określa ona, że argument musi być większa lub równa zero i mniejsza lub równa 23. Tag „ valid_argument:
” opisuje tę klauzulę warunkiem i służy do identyfikacji w przypadku naruszenia Runtime warunku koniecznego.
set_hour (a_hour: INTEGER)
-- Set `hour' to `a_hour'
require
valid_argument: 0 <= a_hour and a_hour <= 23
do
hour := a_hour
ensure
hour_set: hour = a_hour
end
Warunki i dziedziczenie
W obecności dziedziczenia procedury odziedziczone przez klasach potomnych (podklas) zrobić ze swoich warunków w życie. Oznacza to, że wszelkie implementacje lub redefinicje z odziedziczonych procedury mają być także zapisywane są zgodne z ich odziedziczonej umowy. Warunki mogą być modyfikowane w Graczu rutyny, ale mogą być osłabione tylko. Oznacza to, że nowo rutyna może zmniejszyć zobowiązanie klienta, ale nie ją zwiększyć.
Zobacz też
- Programowanie kontraktowe
- Strażnik (computer science)
- Postcondition
- logika Hoare
- Niezmienniki utrzymywane przez warunki
- wyzwalacz