Gyors kudarc - Fail-fast
A rendszertervezésben a hibamentes rendszer az, amely a felületén azonnal jelent minden olyan állapotot, amely valószínűleg hibát jelez. A hibamentes rendszereket általában úgy tervezték, hogy leállítsák a normál működést, ahelyett, hogy megpróbálnák folytatni az esetlegesen hibás folyamatot. Az ilyen tervek gyakran ellenőrzik a rendszer állapotát egy művelet több pontján, így az esetleges meghibásodások korán észlelhetők. A hibajavító modul felelőssége a hibák észlelése, majd a rendszer következő legmagasabb szintjének kezelése.
Hardver és szoftver
A hibamentes rendszerek vagy modulok több esetben is kívánatosak:
- Amikor redundáns alkatrészekből építenek hibatűrő rendszert , az egyes alkatrészeknek hibamentesnek kell lenniük ahhoz, hogy elegendő információt adjanak a rendszernek a hiba sikeres elviseléséhez.
- A meghibásodást okozó alkatrészeket gyakran használják olyan helyzetekben, amikor az egyik komponens meghibásodása addig nem látható, amíg egy másik alkatrész meghibásodásához nem vezet.
- A hiba okát könnyebb megtalálni egy hibamentes rendszerben, mert a rendszer a lehető legtöbb információval jelenti a hibát, a lehető legközelebb a meghibásodás időpontjához. Hibatűrő rendszerben a hiba észlelhetetlen marad, míg egy olyan rendszerben, amely sem hibatűrő, sem hibamentes, a hiba átmenetileg elrejthető, amíg később látszólag nem kapcsolódó problémát okoz.
- A meghibásodás-gyorsító rendszer, amelyet úgy terveztek, hogy megállítsa és jelezze a hibát hiba esetén, kevésbé valószínű, hogy hibásan visszafordíthatatlan vagy költséges műveletet hajt végre.
A fejlesztők a kódot hibajavítónak is nevezik, ha a változók vagy objektumok inicializálásakor a lehető leghamarabb meg akar bukni. Az objektum-orientált programozás során a hibásan megtervezett objektum inicializálja az objektum belső állapotát a konstruktorban, kivételt indít, ha valami nem stimmel (ahelyett, hogy engedélyezi a nem inicializált vagy részben inicializált objektumokat, amelyek később hibásak lesznek "szetter"). Az objektum ezután megváltoztathatatlanná tehető, ha a belső állapot további változása nem várható. A funkciókban a hibás gyorskód ellenőrzi a bemeneti paramétereket az előfeltételben . Ügyfél-szerver architektúrák esetén a hibajavítás közvetlenül az érkezéskor ellenőrzi az ügyfélkérést, mielőtt feldolgozza vagy átirányítja más belső összetevőkre, és hibát ad vissza, ha a kérés sikertelen (hibás paraméterek, ...). A hibásan megtervezett kód csökkenti a szoftver belső entrópiáját és csökkenti a hibakeresési erőfeszítéseket.
Példák
A szoftverfejlesztés területéről a Fail Fast Iterator egy iterátor , amely hibát próbál felidézni , ha az iterátor által feldolgozott elemek sorrendje megváltozik az iteráció során .
Üzleti
Ezt a kifejezést széles körben használják az üzleti élet metaforájaként, legalábbis 2001-ig nyúlik vissza, ami azt jelenti, hogy a vállalkozásoknak merész kísérleteket kell végezniük egy termék vagy stratégia hosszú távú életképességének meghatározására, ahelyett, hogy óvatosan járnának el, és éveket fektetnének egy ítéletre. . Ez egyfajta "mantrának" lett elfogadva a startup kultúrában.
Lásd még
- Csak lezuhanó szoftver
- Tervezés szerződés szerint
- Rosszul kudarc vs
- Üzembiztos
- Fail-stop
- Hibátlan rendszer
Hivatkozások
- ^ Khanna, Rajat; Guler, Isin; Nerkar, Atul (2016-04-01). "Gyakran kudarc, nagy kudarc és gyors kudarc? Tanuljon a kis kudarcokból és a gyógyszeripar K + F teljesítményéből". Academy of Management Journal . 59. (2): 436–459. doi : 10.5465/amj.2013.1109 . ISSN 0001-4273 .
- ^ "Epic Fails of the Startup World" . A New Yorker . Letöltve: 2017-08-14 .
Külső linkek
-
Szürke, Jim . "Miért állnak le a számítógépek, és mit lehet tenni ez ellen?". CiteSeerX 10.1.1.110.9127 , Az idézet napló igényel
|journal=( segítséget ) a „Fail Fast” bemutatása - Jim Shore "Fail Fast" cikke, amely elmagyarázza a "Fail Fast" koncepció használatát a szoftverfejlesztésben (az "IEEE szoftver oszlopaiból", Martin Fowler szerkesztésében )