eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNiezmienniki pętli › Re: Niezmienniki pętli
  • Data: 2018-11-18 10:10:20
    Temat: Re: Niezmienniki pętli
    Od: fir <p...@g...com> szukaj wiadomości tego autora
    [ pokaż wszystkie nagłówki ]

    W dniu piątek, 16 listopada 2018 16:48:18 UTC+1 użytkownik s...@g...com napisał:
    > > Czy w związku z tym zagadnienie niezmienników jest niepotrzebne? A może nadal
    jest potrzebne i coś innego je zastępuje?
    >
    > 1. Wiedziałem co to jest.
    >
    > 2. Stosuję
    >
    > 3. Sam też stosujesz
    >
    > Najprostrze zastosowanie:
    > QList<int> lList = {0, 1, 2, 3, 4, 5};
    > for(int i(0); i < lList.size(); ++i)
    > // tu robisz coś z lList
    > W tej pętli niezmiennikiem sprawdzanym przed wejściem w pętlę i po kazdej iteracji
    jest:
    > i < lList.size()
    >
    > Nieco bardziej ogólne jest:
    > QList<int> lList = {0, 1, 2, 3, 4, 5};
    > for(int& lItem : lList)
    > // tu robisz coś z lItem
    > W tym przypadku niezmiennikiem (ukrytym) jest fakt iteracji po wszystkich
    elementach listy.
    >
    > 4. Zazwyczaj dalszych niezmienników w pętli nie sprawdzam. Głównie ze względu na 2
    wady:
    > 4.1. Puchnięcie i zaciemnianie kodu.
    > 4.2. Spowolnienie programu.
    >
    > 5. Bardzo często sprawdzam parametry wejściowe funkcji (wierzę i stosuję coś w
    rodzaju programowania kontraktowego).
    > 5.1. Wierzę w try, throw, catch (wyjątki obowiązkowo dziedziczone po std::exception
    z opisem i kodem błędu).
    > 5.2. Nie wierzę w i nie cierpię Assert (to tak jak by bez ostrzeżenia uderzyć kogoś
    w twarz bez dalszego komentarza).
    > 5.3. Toleruję wartości zwracane (jako informacje o błędach) i brak standaryzacji w
    dostępie do opisów błędów w Qt.

    ostatnio odkrylem dosyc odkrywczy sposob
    dilowania (tj forme kodowanie obslugi bledow) z bledami w jezykach podobnych
    do c

    wymaga on pewnej poprawki do jezyka,

    (i jest opisany na clc, troche nie che mi sie tu opisywac bo nie lubie sie powtarzac)

    jest on ogolnie ciekawy bo mz pokazuje co to jest normalne dilowanie z bledami i na
    czym to normalne dilowanie z bledami normalnie polega (ma polegac)

    nawiasem mowiac w swietle tego asercje
    albo bledy przypadkowe (jak np zmienienie sie jakiejs komorki w rami i wyjatek typu
    nielegalna instrukcja) nie sa normalnymi sposobami dilowania z bledami tylko pewnymi
    case'ami nadspecjalnymi

    NORMALNY i najbardziej typowy sposob z
    handlowaniem z bledami w programie to zwykle zwrocenie informacji o bledzie do
    funkcji w tyl - tylko ze nie powinno to byc mieszane ze zwracaniem poprawnej wartosci
    w tym kanale w ktorym zwraca sie wartosci w sytuacjach niebledowych..

    dzis jesli ktos zwraca blad w tyl (jak rozne api robia) to ogolnie robi dobrze,
    tylko ze jesli wtyka kody bledow w wartosci zwracane to zarazem robi zle ;c

    https://groups.google.com/forum/#!topic/comp.lang.c/
    p1CcmgZKkV4


Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: