🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.programming
Article #215947

Re: Jak to robią w NASA

#215947
From: Mateusz Viste
Date: Fri, 30 Aug 2019 12:49
43 lines
2625 bytes
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.

> 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. :)

Mateusz
Technical Details
Message-ID: <5d691b46$0$14385$426a74cc@news.free.fr>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin.stu.neva.ru!weretis.net!feeder7.news.weretis.net!usenet.pasdenom.info!nntpfeed.proxad.net!proxad.net!feeder1-1.proxad.net!cleanfeed2-b.proxad.net!nnrp1-2.free.fr!not-for-mail
References: <1ua4wui506zbf$.dlg@tyczka.com> <0836b6a7-f4cb-459b-b9a3-33d209c96ca6@trust.no1>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!wsisiz.edu.pl!goblin2!goblin.stu.neva.ru!weretis.net!feeder7.news.weretis.net!usenet.pasdenom.info!nntpfeed.proxad.net!proxad.net!feeder1-1.proxad.net!cleanfeed2-b.proxad.net!nnrp1-2.free.fr!not-for-mail
From: Mateusz Viste <mateusz@wont.tell>
Subject: Re: Jak to robią w NASA
Newsgroups: pl.comp.programming
References: <1ua4wui506zbf$.dlg@tyczka.com> <0836b6a7-f4cb-459b-b9a3-33d209c96ca6@trust.no1>
User-Agent: Pan/0.145 (Duplicitous mercenary valetism; d7e168a git.gnome.org/pan2)
MIME-Version: 1.0
Date: 30 Aug 2019 12:49:10 GMT
Lines: 43
Message-ID: <5d691b46$0$14385$426a74cc@news.free.fr>
Organization: Guest of ProXad - France
NNTP-Posting-Date: 30 Aug 2019 14:49:10 CEST
NNTP-Posting-Host: 82.64.0.151
X-Trace: 1567169350 news-3.free.fr 14385 82.64.0.151:36330
X-Complaints-To: abuse@proxad.net
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit