-
X-Received: by 2002:aed:2a0c:: with SMTP id c12mr26021qtd.2.1542720544658; Tue, 20
Nov 2018 05:29:04 -0800 (PST)
X-Received: by 2002:aed:2a0c:: with SMTP id c12mr26021qtd.2.1542720544658; Tue, 20
Nov 2018 05:29:04 -0800 (PST)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!feeder.erje.net
!1.eu.feeder.erje.net!news.uzoreto.com!feeder.usenetexpress.com!feeder-in1.iad1
.usenetexpress.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!q69no418427
itb.0!news-out.google.com!y103-v6ni162ita.0!nntp.google.com!q69no418424itb.0!po
stnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Tue, 20 Nov 2018 05:29:04 -0800 (PST)
In-Reply-To: <9...@t...no1>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=194.9.244.13;
posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 194.9.244.13
References: <8...@g...com>
<7...@g...com>
<d...@g...com>
<psp6q7$97o$1@node2.news.atman.pl>
<6...@g...com>
<pss4d0$14n$1@node2.news.atman.pl>
<9...@t...no1>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <7...@g...com>
Subject: Re: Niezmienniki pętli
From: Maciej Sobczak <s...@g...com>
Injection-Date: Tue, 20 Nov 2018 13:29:04 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 28
Xref: news-archive.icm.edu.pl pl.comp.programming:212949
[ ukryj nagłówki ]> > To następna obserwacja: jeśl wpływa to na runtime release należy to
> > odrzucić. Wszelakie checkery asercyjne, za wyjątkiem programowania
> > defensywanego, nie mogą istnieć w kodzie produkcyjnym.
>
> Nigdy nie rozumiałem sensu tego rozumowania
Sens jest również taki, że (jak na ironię!) w systemach krytycznych nie da się
spełnić kryterium 100% pokrycia kodu testami czegoś, co ma asserta. Tzn. jeśli w
kodzie jest assert, który *z założenia* ma się nigdy nie wykonać, to jest to tzw.
dead code i ma go nie być. Bo jeśli jest, to nie da się go przetestować. Albo
inaczej: nie da się wykazać testami, że coś się nigdy nie wykona, więc nie da się
zdobyć w ten sposób pewności, że się nie wykona. A jeśli osiągniemy tą pewność innymi
metodami (np. formalnymi), to asserta dynamicznego może wtedy w ogóle nie być.
Zupełnie niezależnie od tego, w pewnych środowiskach walnięcie assertem jest bez
sensu, bo i tak nie ma do kogo przekazać sterowania. Assert w rozruszniku serca jest
bez sensu, nie tylko technicznie, ale też filozoficznie.
To nie jest tylko kwestia szybkości działania, to może być też kwestia sensowności
istnienia samego asserta.
--
Maciej Sobczak * http://www.inspirel.com
Następne wpisy z tego wątku
- 20.11.18 14:38 Maciej Sobczak
- 20.11.18 15:07 Maciej Sobczak
- 20.11.18 17:54 AK
- 20.11.18 21:52 fir
- 20.11.18 22:16 fir
- 20.11.18 22:46 g...@g...com
- 20.11.18 23:26 Queequeg
- 20.11.18 23:27 g...@g...com
- 21.11.18 08:16 Maciej Sobczak
- 21.11.18 11:12 Queequeg
- 21.11.18 11:36 fir
- 21.11.18 15:54 AK
- 21.11.18 16:07 AK
- 21.11.18 20:32 g...@g...com
- 21.11.18 20:35 g...@g...com
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 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??
Najnowsze wątki
- 2025-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=