-
Data: 2018-11-17 14:58:33
Temat: Re: Niezmienniki pętli
Od: Sebastian Biały <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie 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
- 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
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-29 Warszawa => Staż w dziale Sprzedaży B2B (2 miejsca) <=
- 2024-04-29 Gdańsk => Kierownik Działu Spedycji Międzynarodowej <=
- 2024-04-29 Ulm => IT Network Engineer <=
- 2024-04-29 Gdańsk => UX/UI Designer <=
- 2024-04-29 Gdańsk => AI Specialist <=
- 2024-04-29 frankowicze odcinek NNN
- 2024-04-29 Warszawa => Specjalista ds. Cyberbezpieczeństwa <=
- 2024-04-29 Kraków => MS Dynamics 365BC/NAV Developer <=
- 2024-04-29 Zielona Góra => Inżynier R&D Energoelektronik <=
- 2024-04-29 Warszawa => Google Ads Freelancer <=
- 2024-04-28 wymiana przewodu od licznika do mieszkania
- 2024-04-28 Lustra w maszynie ASML
- 2024-04-28 Elektryk przytarł podłogę
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM
- 2024-04-27 Nowy, "szybki "komputer AsRock nie posiada modułu TPM