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.

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ż

Referencje