eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingNiezmienniki pętliRe: Niezmienniki pętli
  • Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed2.atman.pl!newsfeed.atman.pl!.P
    OSTED!not-for-mail
    From: Sebastian Biały <h...@p...onet.pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Niezmienniki pętli
    Date: Sat, 17 Nov 2018 14:58:33 +0100
    Organization: ATMAN - ATM S.A.
    Lines: 15
    Message-ID: <psp6q7$97o$1@node2.news.atman.pl>
    References: <8...@g...com>
    <7...@g...com>
    <d...@g...com>
    NNTP-Posting-Host: 176.115.86.239
    Mime-Version: 1.0
    Content-Type: text/plain; charset=utf-8; format=flowed
    Content-Transfer-Encoding: 8bit
    X-Trace: node2.news.atman.pl 1542463112 9464 176.115.86.239 (17 Nov 2018 13:58:32
    GMT)
    X-Complaints-To: u...@a...pl
    NNTP-Posting-Date: Sat, 17 Nov 2018 13:58:32 +0000 (UTC)
    User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:60.0) Gecko/20100101
    Thunderbird/60.3.0
    In-Reply-To: <d...@g...com>
    Content-Language: en-US
    Xref: news-archive.icm.edu.pl pl.comp.programming:212918
    [ ukryj nagłówki ]

    On 16/11/2018 23:55, Maciej Sobczak wrote:
    > Spotkałem się z opinią (i się z nią zgadzam), że wtedy rolę niezmienników pełnią
    pre- i post-conditions w tych rekurencyjnych funkcjach. Pytanie, któro z nich jest
    łatwiej wyrazić. I nadal, czy się to stosuje.

    Ja stosuje asercje i to raczej proste acz często sprawdzam stany z
    gatunku "kontener musi być wypełniony" czy "indeks nie przekracza max
    element", "liczba musi być ujemna" itd. Zasada jest taka że jeśli kod
    kontrolujący stan miałbym mieć więcej linijek niż goły algorytm to
    *zaciemnia* kod, dodatkowo niektóre checkery powodują wzrost złożoności
    co może doprowadzić w końcowym efekcie do wzrostu czasu wykonania poza
    rosądek (np. uniemożliwić debug). Po jakiś 20 latach stukania w klawisze
    widziałem kod opakowany DbC po brzegi i wymagał on niesłychanie dużo
    czasu aby zorientować się gdzie jest algorytm a gdzie checkery. Znacznie
    bardziej ufam unit testom i coverage niż ręcznie pisanym DbC. Być może
    to jednak efekt języka, czyi w moim przypadku C++, nie wykluczam że
    można to czytelniej zapisać gdzie indziej.

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: