Programozási stílusok 1
22. fejezet Prescription Program
a határidőt. Vegye ki, lerakó és hagyjuk kihűlni etetés előtt az ügyfélnek.
Tudom, hogy legalább négy recept keksz. Különféle% -being határozza meg a beállításokat -, hogy szeretne egy tortát vaj nélkül, vagy piskóta tojás nélkül - és az előállítás módjától. % Programok írtunk ugyanúgy. Nincs recept, vagy magiche% képlet jellegét; ugyanazt a rendszert lehet kialakítani a különböző od% Bami, amelyek mindegyike lehet jobb, mint a másik. Akkor% hogy különböző összetevői a fejlesztési folyamatot, és különböző módszerekkel. Különben is, az eredmény némileg eltérhetnek sütemények - .. A funkciók, szerkezetét, stabilitását meghosszabbítja% hidak, fenntarthatóság, stb receptek leírja a szoftver életciklusa. fejlettségi az eredeti (% képviselők ült program) a végső (leszerelés).
Mi, a programozók kiszámítható (és milyen mértékben% repro% izvodimym) utat építeni szoftver eljárást követően a megadott% osztva. Meg kell, hogy vonzza a segítségére ez a pro cedure% fejlődés, amely lehetővé teszi számunkra, hogy a legjobb a lehető% ÁLLAMI programokat. Ebben a fejezetben megvizsgáljuk a recepteket létrehozására irányuló programok; fogjuk összehasonlítani őket, ellenzi, bíráljuk, hogy milyen hatással vannak a mi első egyéni kódot.
Jó programozók tudják, hogyan kell programozni - saját módszerek és technikák működnek.
Mik ezek a receptek programozás?
programozási stílus leírja, hogy a tervezett döntés hátoldali% chi, azt részekre van osztva, és modellezi a kiválasztott nyelven. Létre kell hoznunk egy modell-készítés, mert hasznos rendszer nem teljesen illik a fejlesztő fejét. Stílus Food Program% CIÓ határozza meg, hogyan osztoznak a projekt ellenőrzése a vezérelhető%; Ez a kialakítás paradigma, amely arra szolgál, a kifejezés a kódot problémákat.
Különböző programozási nyelvek megfelelnek a különböző stílusok programozási pro%. Egyes stílusok szabott más nyelven
• Eljárási nyelv precíz lépésekkel, melyek a kapott eredményeket. Ez olyasmi, amit a legtöbb programozó hozzá vannak szokva.
• leíró nyelv közötti kapcsolatot leíró kimenete szabályok nyelvi változók (vagy funkciók), és a kapott eredményt a végrehajtó rendszer a nyelv alkalmazza ezeket a szabályokat, amit% fix algoritmus. (Ez a leírás lehet a% ble után megnézzük a funkcionális és logikai programozás skoe%).
A választott programozási nyelv részben határozza meg a stílust. (Még jobb, válasszon egy nyelvet, amely támogatja a stílust használni kívánt Hoti%.) Ugyanakkor a választott programozási nyelv - nem a legfontosabb. Lehetőség van, hogy írjon strukturált kódot egy objektum-orientált nyelv%, mint ahogy azt is lehet írni Fordulj el% sító kód bármilyen nyelven. A következő néhány fejezet népszerű programozási stílus.
strukturált programozás
Ez standard módszer eljárási design használ algoritmikus bomlás Xia% - folyamat rendszer partíció részekre, melyek mindegyike egy kis lépés egy nagyobb folyamat. A tervezési megoldások célja áramlásának szabályozására Niya% és hozzon létre egy hierarchikus funkcionális szerkezet. Ahogy Dijkstra írta: „A hierarchikus rendszerek a tulajdonsága, hogy főnév NOSTA%, oszthatatlan flush, ez tekinthető egy összetett objektum a következő alacsonyabb szintű adat; ennek eredményeként a természetes granulátum tér vagy az idő, hogy nimye% minden szinten, csökken a megrendelés, amikor újra% arra a következtetésre jutunk, hogy a figyelmet, hogy a következő alacsonyabb szinten. Mi govo% pereme a fal szempontjából tégla tégla - tekintve kristály% fogásának kristályok - tekintve molekulák, stb „Tehát Dijkstra ass% lyariziroval strukturált programozás a klasszikus cikket«Go To nyilatkozat károsnak».. (Go To The üzemeltető ártalmas). (Dijkstra 68)
A strukturált programozás - a modell középpontjában a szabályozás és lenii% követő csökkenő mintázat. Akkor kezdik% ete azzal elképzelni a teljes program (pl ETS lat_pokupki), akkor van szétbontva sorozat alblokkra (például állhat vit_spisok_pokupok, vyyti_iz_doma, doyti_do_magazina, vybrat_pokupki, versenyek platitsya_v_kasse, vernutsya_domoy). Ezzel szemben minden egyes al-blokk bomlik darabokra, amíg el nem éri azt a szintet, amely mellett könnyű írni a végrehajtás kódot. Blocks gyűjtik tse% Loe, és hogy a projekt véget ér.
22. fejezet Prescription Program
A strukturális megközelítési módnak az alábbi következményekkel:
• Minden lépést bomlási legyen ésszerű% Niemann programozó. (Dijkstra mondta: „Azt javaslom, hogy szorítkozunk% design és a programok végrehajtásának, érteni ra% zoom”.)
• Az áramlás vezérlő kell kísérni: Kerüljük szörnyű szereplő goto (strukturálatlan az átmeneti pro% szabad hely a program) és írási funkciók egy bemenet és ódákat% -os hozammal (az úgynevezett code Sese).
• szerkezeti kódot, amennyiben gyűrűs szerkezetek és feltételes operátorok belül funkcionális blokkok. Otno shenie% korai kilépés közepén a hurok vagy beágyazott blokk azonos neheztelnek a goto.
Közös strukturált programozási nyelv - C, Pascal, BASIC és az idősebb, mint a Fortran és a COBOL. A bolshinst% wa eljárási nyelv könnyen levelet szerkezeti kódot, bár ez nem az ő specialitása; szerkezeti programozók gyakran, de% vomodnye nyelv anélkül, hogy új kifejezéseket. 1
Booch leírja a GS% programozási „végrehajtásának módja az, amely programot rendeznek formájában kölcsönható tárgyak, melyek mindegyike egy példány% -a, amely osztály és az osztályok alkotják egy hierarchikus struktúrát, Ba% en az öröklési kapcsolatokat.» (Booch 94 ) Ez is az eljárásokat% ny stílusa, de ez lehetővé teszi, hogy egy természetes módon modellezni a valóságot; mi irányítja a figyelmet, hogy a szimulált többek% aktív elemek, és nem egy adott téma.
Ez a modell nagymértékben épül az adatok (szemben a strukturált programozás, ahol a központ PROTSES% Si). Mi érdekli itt az élet adatok és mozog, ahelyett, hogy a műveletsort kell végrehajtani, hogy újra% varrás feladat. Do tárgyak (adat) a viselkedés (hogy csinálnak valamit%) és az állam (amely eltér eredményeként akció). A nyelvi szint, akkor végre egy osztály módszer tárgyakat. %% OO programokban mi tekinthető készlet együttműködő szoftver komponenseket, nem monolitikus listákat CPU parancsokat. % OO tervezés lehetővé tette számunkra, hogy hatékonyan szimulálni nagy rendszereket.
Az objektumorientált programozás alkalmazott %% habosító követi a koncepció számítástechnika:
1. Ez nem feltétlenül rossz, ha a programozó nem gondolja, hogy túlment a határokat a strukturális kódolás megváltoztatása nélkül az utat kódfejlesztés.
Bevezetés Dijkstra hierarchia (lásd vissza rá, és újra elolvasta) nyitott egyfajta absztrakció.
Kapszulázást nevezett helyiségek kapcsolódnak egymáshoz uc% kieg blokkok egy csomagban, amely csak akkor lehet hozzáférni egy jól definiált API: kapszula a kódot. Felhasználó A Teli% -a kapszulák csak az adott API, de nincs közvetlen hozzáférést biztosít a belső állapot. Ez egy világos felelősségi körök szétválasztása lehetővé spekulálni metafizikai kérdéseket, mint például „Mi a cél? „És ez ad némi biztosítékot, hogy nem támadó nem lenne képes mélyebbre ásni a kódot, ha elfordul.
Ez egy olyan mechanizmus létrehozására tárgyak egy speciális változata a szülő. Hagyja, hogy a szülő típus az úgynevezett egy alak, és Nasli% csapás neki négyzet, kör és háromszög. Örökösök van de% alapvető és speciális viselkedést (például tudják, hogy hány oldala az ábrán). Mint minden ötletek programozás, öröklés lehet az alapja a teremtés homályos és furcsa programok, és lehet alkalmazni egy logikailag helyes nom%, elegáns kódot. Jó OO% programozók képesek létrehozni a hatékony örökletes hierarchiát.
Ez a tulajdonság lehetővé teszi, hogy ugyanazt a kódot, hogy működik DATA% E különféle típusú (PO% mely nyelveket általában az úgynevezett E osztályú%) azok a körülmények, amelyek a kód fut. Ez Technolen% Gia hangsúlyozza programozási szerinti kifejezetten meghatározott Institute terfeysam% helyett implicit megvalósítások - polimorfizmus ad egyértelmű a feladatok szétválasztását írásakor kódot. Polimorfizmus két típusa van: a dinamikus és statikus.
Dinamikus polimorfizmus összhangban a neve határozza meg a tényleges működését a futás - függvényében% ING a típusú operandus vagy céltárgy. Gyakran használ uc% öröklési hierarchia: kliens fut típusú figura, hogy az adott esetben tud működni tárgyak, mint például Quad patkány vagy háromszög, meghatározva a futás során.