Minél rosszabb, annál jobb

A rosszabb, annál jobb - a szoftverfejlesztés  olyan megközelítése, amely a rendszer bármely más tulajdonságánál fontosabbnak tartja a könnyű megvalósítást és az interfész egyszerűségét. Ezt a stílust Richard P. Gabriel írja le a Lisp : Good News, Bad News, How to Win Big című könyvében a "The Rise of 'Worse is Better" alatt, és gyakran újranyomják külön cikkként.

Essence

Gabriel a következőképpen írja le a megközelítést:

  1. Egyszerűség: A megvalósításnak és a felületnek egyszerűnek kell lennie. A könnyű implementáció még fontosabb, mint az interfész egyszerűsége. A design kiválasztásánál az egyszerűség a legfontosabb követelmény.
  2. Helyesség: a tervezésnek minden látható megnyilvánulásában helyesnek kell lennie. Egy egyszerű kialakítás egy kicsit jobb, mint egy megfelelő.
  3. Konzisztencia (konzisztencia): A tervezés nem lehet túl logikátlan. Néha a logikát fel lehet áldozni az egyszerűségért, de jobb, ha elvetjük a tervezés azon részeit, amelyek csak ritkán hasznosak, mint a megvalósítás bonyolítása vagy a konzisztencia feláldozása.
  4. Teljesség: A tervezésnek a lehető legtöbb fontos helyzetet le kell fednie. A teljességet fel lehet áldozni más tulajdonságok javára, és fel kell áldozni, ha megzavarja az egyszerűséget. A következetesség feláldozható a teljesség javára, ha az egyszerűség megmarad (a logikai interfész különösen haszontalan).

Gabriel a C nyelvet és a Unix rendszert tartja példának erre a megközelítésre.

MIT

A cikk szembeállítja ezt a „MIT-megközelítésnek” nevezett megközelítéssel ( MIT  – Massachusetts Institute of Technology). Gabriel a következőképpen írja le ezt a tervezési megközelítést:

  1. Egyszerűség: A megvalósításnak és a felületnek egyszerűnek kell lennie. A felület egyszerűsége fontosabb, mint a megvalósítás egyszerűsége.
  2. Helyesség: A tervezésnek minden szempontból helyesnek kell lennie. A rossz tervezés szigorúan tilos.
  3. A következetesség ugyanolyan fontos, mint a helyesség. A logika kedvéért feláldozhatja az egyszerűséget és a teljességet.
  4. Teljesség: A tervezésnek a lehető legtöbb fontos helyzetet le kell fednie. Minden lehetséges helyzetet előre kell látni. Az egyszerűség nem zavarhatja túlságosan a teljességet.

Hatás

Gabriel azt állítja, hogy a "rosszabb, annál jobb" megközelítés előnyösebb, mint az "MIT megközelítés". Egy könnyen implementálható rendszer könnyen portolható lesz különböző operációs rendszerekre, vagyis gyorsan elterjed még azelőtt, hogy egy MIT-elvek szerint készült rendszer megszületne. Egy könnyebben megvalósítható rendszer több olyan felhasználót vonz majd, aki érti a működését, és szeretné fejleszteni azt. A fejlesztések addig folytatódnak, amíg a rendszer csaknem tökéletes lesz. Példaként Gabriel a C és a Lisp fordítóit idézi . 1987-ben – írja Gabriel – az ezekről a nyelvekről származó fordítók minősége közel azonos volt, de sokkal többen akarták fejleszteni a C-fordítót, mint a Lisp-fordítót.

Bár Gabriel lehetett az első, aki ezt az elvet fogalmazta meg, a UNIX és a nyílt forráskódú szoftverek ideológiájában már jóval korábban is használtak hasonló gondolatokat .

Lásd még

Linkek