-
X-Received: by 2002:ad4:536a:: with SMTP id e10mr20914525qvv.110.1567607946058; Wed,
04 Sep 2019 07:39:06 -0700 (PDT)
X-Received: by 2002:ad4:536a:: with SMTP id e10mr20914525qvv.110.1567607946058; Wed,
04 Sep 2019 07:39:06 -0700 (PDT)
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erj
e.net!feeder.erje.net!news.albasani.net!newsreader4.netcologne.de!news.netcolog
ne.de!peer01.ams1!peer.ams1.xlned.com!news.xlned.com!peer01.am4!peer.am4.highwi
nds-media.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!b
order1.nntp.dca1.giganews.com!nntp.giganews.com!o24no9817069qtl.0!news-out.goog
le.com!c11ni57qtp.0!nntp.google.com!o24no9817064qtl.0!postnews.google.com!glegr
oupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.programming
Date: Wed, 4 Sep 2019 07:39:05 -0700 (PDT)
In-Reply-To: <5d68ce2a$0$15173$426a74cc@news.free.fr>
Complaints-To: g...@g...com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=89.78.14.89;
posting-account=CvUQzQoAAABvVQmR58QmR6N4Cev1qhAS
NNTP-Posting-Host: 89.78.14.89
References: <1ua4wui506zbf$.dlg@tyczka.com> <5d68ce2a$0$15173$426a74cc@news.free.fr>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <a...@g...com>
Subject: Re: Jak to robią w NASA
From: bartekltg <b...@g...com>
Injection-Date: Wed, 04 Sep 2019 14:39:06 +0000
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Lines: 57
X-Received-Bytes: 3618
X-Received-Body-CRC: 4044275641
Xref: news-archive.icm.edu.pl pl.comp.programming:213931
[ ukryj nagłówki ]On Friday, August 30, 2019 at 9:20:11 AM UTC+2, Mateusz Viste wrote:
> On Fri, 30 Aug 2019 09:09:43 +0200, Roman Tyczka wrote:
> > https://fossbytes.com/nasa-coding-programming-rules-
critical/
>
> To raczej ciekawostka, bo do normalnego życia ma się nijak - NASA to
> jednak dewianci są. :)
>
> "Do not use goto"
To jest zalecenie wydane przez Dijkstrę w epoce fortrana łupanego.
Podstawa programowania strukturalnego i pochodnych.
> "No function longer than 60 lines of code"
Akurat dość dobre, z gatunku czytelności kodu.
Jesne, jeśli akurat wyjdzie 70 linii niepodzielnego kodu
(jakaś procedura numeryczna) to nie jest to zbrodnia.
> "Do not use dynamic memory"
"... after inicjaization". Możesz zaalokować tyle, ile trzeba.
Nie baw się jednak np w dynamicznei rosnącą tablicę.
To jest specyfika dziedziny. Dość częste zalecenie tam,
gdzie rzeczy mają być niezawodne, wiec deterministyczne.
Ale tylko do tych specjalistycznych zastosowań.
> Żadne z powyższych do mnie nie przemawia, ale oczywiście gdybym pisał
> programy sterujące rakietami ziemia-jupiter to na pewno też miałbym
> stracha.
Ogolnie, wszystkie zalecenia to albo estetyka, albo ograniczenie
dostępnych klocków, aby bylo prościej.
Dziwi mnie rekurencja wsadzona w wzięte z assembleera setjump i longjump.
O ile te ostatenie, razem z goto psują programowania strukturalne,
utrudniają analizę kodu i są zwalczane od kilkudziesiaciu lat,
to co tam robi rekurencja.
Jesne, rozumiem związane z nią "zagrożenia", na poziomie, gdzie wymagają
dowodliwego ograniczenie na liczbę obrotów pętli, można się bać nieskończonej
rekursji czy skonczenia stosu. Ale to inna kategoria niż goto;-)
Wywalenie rekurencji pośrednio mocno ogranicza dostępne struktury danych.
Drzewa pisze się znacznie gorzej. Ale znow, to do krytycznych fragmentow
kodu.
pzdr
bartekltg
Następne wpisy z tego wątku
- 04.09.19 18:43 AK
- 04.09.19 18:52 AK
- 04.09.19 19:00 AK
- 04.09.19 19:04 AK
- 04.09.19 19:07 AK
- 04.09.19 19:10 AK
- 04.09.19 19:54 g...@g...com
- 04.09.19 21:07 AK
- 04.09.19 23:05 g...@g...com
- 04.09.19 23:49 Maciej Sobczak
- 05.09.19 09:20 M.M.
- 05.09.19 13:37 M.M.
- 06.09.19 07:31 AK
- 06.09.19 10:12 M.M.
- 06.09.19 10:33 Mateusz Viste
Najnowsze wątki z tej grupy
- 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??
- 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?
Najnowsze wątki
- 2024-05-20 Fiat 125p wer. pikup - w PRL moszna było, w III Reczy [pospolitej] nie moszna
- 2024-05-19 Pożar salonu z chińskimi elektrykami
- 2024-05-18 LED
- 2024-05-19 ceny nieruchomości
- 2024-05-18 Szczecin => UX/UI Designer <=
- 2024-05-18 Warszawa => Mid PHP Developer (Laravel) <=
- 2024-05-18 Warszawa => Software .Net Developer <=
- 2024-05-18 Warszawa => Mid/Senior QA Engineer <=
- 2024-05-18 Ulm => Solution Architect (sichere Kommunikation und IoT-Loesungen <=
- 2024-05-18 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-05-18 Warszawa => SAP WM Consultant / Execution <=
- 2024-05-18 Wrocław => Consultant/Implementer Comarch ERP XL <=
- 2024-05-18 Gdańsk => Head of International Freight Forwarding Department <=
- 2024-05-18 Warszawa => Account Manager (Recruitment Services) <=
- 2024-05-18 Łódź => Salesperson - CRM Systems <=