Čím horší, tím lepší

Horší je lepší  – přístup k vývoji softwaru , který prohlašuje snadnost implementace a jednoduchost rozhraní za důležitější než jakékoli jiné vlastnosti systému. Tento styl popsal Richard P. Gabriel v Lisp : Good News, Bad News, How to Win Big pod „The Rise of 'Worse is Better'“ a je často přetištěn jako samostatný článek.

Esence

Gabriel popisuje přístup takto:

  1. Jednoduchost: Implementace a rozhraní by měly být jednoduché. Snadnost implementace je ještě důležitější než jednoduchost rozhraní. Jednoduchost je nejdůležitějším požadavkem při výběru designu.
  2. Správnost: provedení musí být správné ve všech viditelných projevech. Jednoduchý design je o něco lepší než pořádný.
  3. Konzistence (konzistence): Návrh by neměl být příliš nelogický. Někdy může být logika obětována jednoduchosti, ale je lepší zahodit části návrhu, které jsou užitečné jen zřídka, než komplikovat implementaci nebo obětovat konzistenci.
  4. Úplnost: Návrh by měl pokrývat co nejvíce důležitých situací. Úplnost může být obětována ve prospěch jiných kvalit a musí být obětována, pokud narušuje jednoduchost. Konzistence může být obětována ve prospěch úplnosti, pokud je zachována jednoduchost (obzvláště zbytečné je logické rozhraní).

Gabriel považuje jazyk C a systém Unix za příklady tohoto přístupu.

MIT

Článek to staví do kontrastu s přístupem zvaným „MIT přístup“ ( MIT  – Massachusetts Institute of Technology). Gabriel popisuje tento přístup k designu následovně:

  1. Jednoduchost: Implementace a rozhraní by měly být jednoduché. Jednoduchost rozhraní je důležitější než jednoduchost implementace.
  2. Správnost: Návrh musí být ve všech směrech správný. Nesprávný design je přísně zakázán.
  3. Důslednost je stejně důležitá jako správnost. V zájmu logiky můžete obětovat jednoduchost a úplnost.
  4. Úplnost: Návrh by měl pokrývat co nejvíce důležitých situací. Je třeba předvídat všechny možné situace. Jednoduchost by neměla příliš zasahovat do úplnosti.

Efekt

Gabriel tvrdí, že přístup „horší je lepší“ je vhodnější než „přístup MIT“. Snadno implementovatelný systém bude snadno portovatelný na různé operační systémy, to znamená, že se rychle rozšíří ještě dříve, než bude napsán systém vyrobený podle principů MIT. Snáze implementovatelný systém přitáhne více uživatelů, kteří rozumí jeho fungování a chtějí jej vylepšit. Vylepšování bude pokračovat, dokud nebude systém téměř dokonalý. Jako příklad Gabriel uvádí kompilátory pro C a Lisp . V roce 1987, píše Gabriel, byly kompilátory z těchto jazyků téměř stejné kvality, ale bylo mnohem více lidí, kteří chtěli vylepšit kompilátor C než kompilátor Lisp.

Ačkoli Gabriel mohl být první, kdo formuloval tento princip, podobné myšlenky byly použity mnohem dříve v ideologii UNIX a open source softwaru .

Viz také

Odkazy