Image
10.8.2015 0 Comments

Programátori NASA musia dodržiavať prísne pravidlá. Nemôžu napríklad používať rekurziu

Vývoj kritických aplikácií pre NASA (napr. na riadenie lietadiel či kozmických lodí) je doslova životne dôležitý, pričom kvalita kódu a bezpečnosť sú prvoradé. Preto NASA vypracovala štandardy na programovanie a pravidlá na zabezpečenie spoľahlivosti kritického softvéru.

Tieto smernice pre Jet Propulsion Laboratory (JPL) spadajúce pod NASA boli vypracované v Kalifornskom technologickom inštitúte na základe zmluvy a v súčasnosti sa v JPL používajú experimentálne, pričom výsledky sú povzbudivé. Hoci sa zameriavajú na kód napísaný v jazyku C, pretože softvér pre sondy a ďalšie vesmírne zariadenia sa píše pre efektívnosť práve v tomto jazyku, mohli by byť upravené aj pre ďalšie programovacie jazyky.

K dispozícii je 10 pravidiel, aby bol ich súbor malý, dostatočne jasný a ľahko zapamätateľný. Niektoré z nich sú vlastne všeobecne uznávané štandardy na správny štýl a postup programovania, napríklad deklarácia dátových objektov na najmenšej úrovni rozsahu či denná kontrola kódu a jeho overovanie automatickou analýzou.

Niektoré pravidlá sa môžu zdať prísne alebo obmedzujúce, ako napríklad pravidlo číslo štyri, ktoré hovorí, že žiadna funkcia by nemala byť dlhšia než to, čo možno vytlačiť na jeden list papiera v štandardnom referenčnom formáte. Typicky to znamená, že by nemala mať viac ako 60 riadkov kódu. V zdôvodnení stojí, že každá funkcia by mala tvoriť logickú jednotku, ktorá je zrozumiteľná a overiteľná ako celok. Je však ťažké pochopiť logický celok, ktorý zaberá viac obrazoviek na displeji počítača či viac tlačených stránok. Pridlhé funkcie sú často známkou zle štruktúrovaného kódu.

Z ďalších možno spomenúť pravidlo, že na predídenie zacykleniu je zakázané používanie akejkoľvek rekurzie, skokov goto, setjmp a longjmp, pričom cykly musia mať staticky overiteľnú hornú hranicu. Pamäť možno alokovať len pri spustení úlohy, nie počas jej behu, aby sa zabránilo vzniku problémov s dynamickou alokáciou pamäte.

Ak vás tieto pravidlá a ich zdôvodnenia zaujímajú a chcete ich preštudovať podrobnejšie, môžete tak urobiť v tomto dokumente PDF.

Zdroj: lifehacker.com
jaxenter.com


Nechajte si posielať prehľad najdôležitejších správ emailom

Mohlo by Vás zaujímať

Technológie 1

Spreje na vypínanie génov umožnia geneticky zlepšovať rastliny bez zmeny DNA

18.01.2017 00:40

Ak sa vám nepáči farba niektorých kvetov v záhrade, možno ju jedného dňa budete môcť zmeniť jednoduchým postriekaním sprejom, ktorý vypne ich určité gény. Poľnohospodári môžu takéto postreky na vypín ...

Technológie

DeepStack – umelá inteligencia, ktorá vďaka intuícii porazí v pokeri aj profesionálnych hráčov

16.01.2017 00:25

Roboty hrajúce poker nie sú úplná novinka, no tím vedcov z kanadskej Albertskej univerzity, Karlovej univerzity a ČVUT (České vysoké učení technické) položil latku trochu vyššie. V dokumente (PDF) uv ...

Technológie

Hardvérová divízia Facebooku pracuje na technológii, ktorá vyzerá ako čítanie myšlienok

16.01.2017 00:30

Pred istým časom sa Mark Zuckerberg v jednom rozhovore vyjadril, že je presvedčený o tom, že jedného dňa si ľudia budú navzájom posielať myšlienky s využitím digitálnych technológií. Teraz sa jeho sen ...

Žiadne komentáre

Vyhľadávanie

ITSMF jar

Najnovšie videá