-
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.
Następne wpisy z tego wątku
- 17.11.18 16:59 s...@g...com
- 18.11.18 00:10 Maciej Sobczak
- 18.11.18 01:02 Queequeg
- 18.11.18 09:58 AK
- 18.11.18 10:10 fir
- 18.11.18 10:28 fir
- 18.11.18 17:35 Sebastian Biały
- 19.11.18 08:14 Maciej Sobczak
- 19.11.18 09:22 Roman Tyczka
- 19.11.18 10:37 Queequeg
- 19.11.18 10:45 Queequeg
- 19.11.18 17:15 g...@g...com
- 19.11.18 19:45 g...@g...com
- 19.11.18 19:49 g...@g...com
- 19.11.18 21:18 s...@g...com
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-29 Dławik CM
- 2024-11-29 [OT] Lewe oprogramowanie
- 2024-11-29 Błonie => Sales Specialist <=
- 2024-11-29 Warszawa => IT Expert (Network Systems area) <=
- 2024-11-29 Warszawa => Ekspert IT (obszar systemów sieciowych) <=
- 2024-11-29 Warszawa => Head of International Freight Forwarding Department <=
- 2024-11-29 Białystok => Inżynier Serwisu Sprzętu Medycznego <=
- 2024-11-29 Pómpy ciepła darmo rozdajoo
- 2024-11-29 Białystok => Application Security Engineer <=
- 2024-11-29 Białystok => Programista Full Stack (.Net Core) <=
- 2024-11-29 Gdańsk => Software .Net Developer <=
- 2024-11-29 Wrocław => Key Account Manager <=
- 2024-11-29 Gdańsk => Specjalista ds. Sprzedaży <=
- 2024-11-29 Chrzanów => Specjalista ds. public relations <=
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO