Article View: pl.comp.programming
Article #215948Re: Jak to robią w NASA
From: M.M.
Date: Sat, 31 Aug 2019 20:14
Date: Sat, 31 Aug 2019 20:14
60 lines
4009 bytes
4009 bytes
On Friday, August 30, 2019 at 2:49:11 PM UTC+2, Mateusz Viste wrote:
> On Fri, 30 Aug 2019 08:06:33 +0000, Queequeg wrote:
> > 2. All loops must have a fixed upper-bound. It must be trivially
> > possible for a checking tool to prove statically that a preset
> > upper-bound on the number of iterations of a loop cannot be exceeded. If
> > the loop-bound cannot be proven statically, the rule is considered
> > violated.
> >
> > Zgadzam się.
>
> Czekaj czekaj, ale większość programów to jedna niekończąca się pętla.
>
> for (;;) {
> wait_input();
> do_job();
> }
>
> Czy ja czegoś nie rozumiem, czy ta reguła zabrania takich konstrukcji? A
> jeśli zabrania, to jak inaczej? Przecież goto też zabraniają. :)
>
> > 3. Do not use dynamic memory allocation after initialization.
> >
> > Znów... zależy od konkretnego zastosowania. MISRA C zresztą mówi to
> > samo. Widzę w tym logikę, ale nie chciałbym tak pisać :(
>
> Logika jest - ale chyba tylko w lotach kosmicznych albo innych
> przemysłowych dziedzinach, gdzie nic nie ma prawa się nie udać. W
> praktyce program graficzny będzie alokował pamięć zależnie od tego,
> jakich rozmiarów dostał plik graficzny do załadowania. Jak user ma mało
> pamięci to i tak może sobie pomalować w 640x480, a przy większych
> bitmapach dostanie zonk.
To też można różnie rozumieć. Może używanie bibliotecznych wektorów, list,
zbiorów, itd nie jest dynamicznym allokowaniem pamięci (po inicjacji)?
>
> > 7. The return value of non-void functions must be checked by each
> > calling function, and the validity of parameters must be checked inside
> > each function.
> >
> > Tu znów odbijamy się od tego, czy to są sztywne zasady, które trzeba
> > stosować, czy zbiór sugestii.
>
> if (printf("Hello") != 5) NO_I_CO_MAM_ZROBIC();
>
> Ciekawe jaki mają procent zachorowań na depresję wśród programistów. :)
Bez kontekstu można powiedzieć, że powinien zapisać w pliku logu że doszło do
takiej sytuacji, żeby programista szybciej zaczął się zastanawiać nad
przyczyną problemu.
A tak poza tym, dużo softu ma bezpośredni wpływ na życie, zdrowie, pieniądze;
jeszcze więcej softu ma pośredni wpływ na ważne sfery życia. Nic dziwnego
że próbuje się podawać skrótowy zestaw reguł pomagający niezbyt zaawansowanym
programistom tworzyć bezpieczny kod. Natomiast kompulsywne trzymanie się
dowolnych skrótowych reguł, zwłaszcza bez dobrych intencji, oczywiście/zawsze
źle się kończy, np. depresją programistów.
Pozdrawiam
Technical Details
Message-ID:
<834d19ec-0809-4aec-8568-8077cd493599@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!a13no2069318qtd.0!news-out.google.com!q13ni43qtn.0!nntp.google.com!a13no2069310qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mailReferences:
<1ua4wui506zbf$.dlg@tyczka.com> <0836b6a7-f4cb-459b-b9a3-33d209c96ca6@trust.no1> <5d691b46$0$14385$426a74cc@news.free.fr>Show Full Headers
Complete Article Headers
X-Received: by 2002:a37:f902:: with SMTP id l2mr21691451qkj.218.1567282493736; Sat, 31 Aug 2019 13:14:53 -0700 (PDT) X-Received: by 2002:ac8:4408:: with SMTP id j8mr17872600qtn.258.1567282493535; Sat, 31 Aug 2019 13:14:53 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!feeder.erje.net!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!a13no2069318qtd.0!news-out.google.com!q13ni43qtn.0!nntp.google.com!a13no2069310qtd.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Sat, 31 Aug 2019 13:14:53 -0700 (PDT) In-Reply-To: <5d691b46$0$14385$426a74cc@news.free.fr> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=178.36.205.84; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj NNTP-Posting-Host: 178.36.205.84 References: <1ua4wui506zbf$.dlg@tyczka.com> <0836b6a7-f4cb-459b-b9a3-33d209c96ca6@trust.no1> <5d691b46$0$14385$426a74cc@news.free.fr> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <834d19ec-0809-4aec-8568-8077cd493599@googlegroups.com> Subject: Re: Jak to robią w NASA From: "M.M." <mmarszik@gmail.com> Injection-Date: Sat, 31 Aug 2019 20:14:53 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit