🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215973

Re: Jak to robią w NASA

#215973
From: Maciej Sobczak
Date: Wed, 04 Sep 2019 21:49
40 lines
4107 bytes
> Asercje są formą komentarza, który dodatkowo można zweryfikować.

Kupa różnych narzędzi weryfikuje adnotacje zaszyte w komentarzach. Statycznie. I tak powinno być.

> Asercja to postawa propozycjonalna.

Możliwe, że pomyliłeś grupy.

> Możesz sobie napisać
> #define assert(x) do {} while(0)

Nie, nie mogę. Zabrania tego zarówno MISRA-C jak i AUTOSAR.
Byłoby łatwiej, gdybyś nie spekulował.

> Asercje też są istotne dla czytelności.

Oczywiście. Ale stanowią dead-code, którego się unika z innych powodów. Być może te powody nie są istotne jak się pisze coś innego gdzieś indziej, ale jeśli mówimy o systemach krytycznych (taki wątek się zrobił), to obowiązują pewne reguły. Dużo reguł. Więcej, niż gdzie indziej. W sumie właśnie od tego spostrzeżenia się ta dyskusja wzięła.

> Asercja nie jest pojęciem wprowadzonym przez standard C.

Standard C definiuje dokładnie, co to pojęcie oznacza w języku C. Może gdzieś indziej oznacza coś innego, albo nawet wcześniej. Nie ma to znaczenia.

> > Oczywiście możesz sobie wyobrazić (albo nawet mieć) narzędzie, któro statycznie skanuje kod i sprawdza asercje (efektywnie traktując je jako static_assert), ale takie narzędzie potrafi też wyłuskać adnotacje z komentarzy. 
> 
> ?

Ale czego nie rozumiesz? Której części?

> No to nie dość, że sam błędnie rozumiesz, to jeszcze próbujesz to swoje błędne rozumienie promować.

Dopóki moje rozumienie opiera się na standardach (i to kilku), to będę je promował. Nie do mnie pretensje, nie ja te standardy pisałem.

> A skrypty testowe to nie kod?

Nie musi być. Może to być procedura opisana słownie. Np. w Wordzie. Nie, nie nabijam się. Nieprzypadkiem napisałem wcześniej, że w tej branży klepanie kodu to tylko kilka procent wysiłku.
Natomiast nawet jeśli skrypt testowy będzie kodem w jakimś języku programowania, nawet w tym samym (rzadki przypadek), to tego kodu nie obowiązują takie reguły, jak te dotyczące właściwego kodu programu. Bo i po co.
Dlatego współcześnie popularnym przypadkiem jest użycie Pythona do pisania testów. Tam sobie możesz (a nawet powinieneś) robić asercje ile wlezie.

-- 
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID: <819e71ad-be91-42ae-a41a-76628f10bcbf@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!o24no10935214qtl.0!news-out.google.com!c11ni85qtp.0!nntp.google.com!o24no10935204qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <1ua4wui506zbf$.dlg@tyczka.com> <qkecqc$c03$1@news.icm.edu.pl> <3ec85b36-33be-49bd-b688-d8c9213a771a@googlegroups.com> <qkicu0$knb$1@gioia.aioe.org> <46e56026-21be-4761-908e-7991c72a1143@googlegroups.com> <qkjqqi$1b59$1@gioia.aioe.org> <0125b7f3-d337-4537-a6d3-237b78065215@googlegroups.com> <rmvauunflug0.dlg@tyczka.com> <eab71553-8760-428b-a4aa-a58ac0f346ec@googlegroups.com> <1794fcdb-d7bb-402f-927f-80010b217989@googlegroups.com> <1a2f7fe3-5745-40b2-9fd6-868fca99dea5@googlegroups.com> <a0c6a1c7-e8bf-4079-b5f2-d5dcec42f7d9@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:73d8:: with SMTP id v24mr257148qtp.221.1567633789385;        Wed, 04 Sep 2019 14:49:49 -0700 (PDT)
X-Received: by 2002:ad4:4152:: with SMTP id z18mr64375qvp.236.1567633789173; Wed, 04 Sep 2019 14:49:49 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin3!goblin.stu.neva.ru!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!o24no10935214qtl.0!news-out.google.com!c11ni85qtp.0!nntp.google.com!o24no10935204qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 4 Sep 2019 14:49:48 -0700 (PDT)
In-Reply-To: <a0c6a1c7-e8bf-4079-b5f2-d5dcec42f7d9@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=213.108.152.51; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S
NNTP-Posting-Host: 213.108.152.51
References: <1ua4wui506zbf$.dlg@tyczka.com> <qkecqc$c03$1@news.icm.edu.pl> <3ec85b36-33be-49bd-b688-d8c9213a771a@googlegroups.com> <qkicu0$knb$1@gioia.aioe.org> <46e56026-21be-4761-908e-7991c72a1143@googlegroups.com> <qkjqqi$1b59$1@gioia.aioe.org> <0125b7f3-d337-4537-a6d3-237b78065215@googlegroups.com> <rmvauunflug0.dlg@tyczka.com> <eab71553-8760-428b-a4aa-a58ac0f346ec@googlegroups.com> <1794fcdb-d7bb-402f-927f-80010b217989@googlegroups.com> <1a2f7fe3-5745-40b2-9fd6-868fca99dea5@googlegroups.com> <a0c6a1c7-e8bf-4079-b5f2-d5dcec42f7d9@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <819e71ad-be91-42ae-a41a-76628f10bcbf@googlegroups.com>
Subject: Re: Jak to robią w NASA
From: Maciej Sobczak <see.my.homepage@gmail.com>
Injection-Date: Wed, 04 Sep 2019 21:49:49 +0000
Lines: 63
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit