Cu cât mai rău, cu atât mai bine

Mai rău este mai bine  - o abordare a dezvoltării software care declară ușurința de implementare și simplitatea interfeței mai importante decât orice alte proprietăți ale sistemului. Acest stil este descris de Richard P. Gabriel în Lisp : Good News, Bad News, How to Win Big sub „The Rise of 'Worse is Better'” și este adesea retipărit ca un articol separat.

Esență

Gabriel descrie abordarea după cum urmează:

  1. Simplitate: Implementarea și interfața ar trebui să fie simple. Ușurința implementării este chiar mai importantă decât simplitatea interfeței. Simplitatea este cea mai importantă cerință atunci când alegeți un design.
  2. Corectitudine: designul trebuie să fie corect în toate manifestările vizibile. Un design simplu este puțin mai bun decât unul adecvat.
  3. Consistență (consecvență): Designul nu trebuie să fie prea ilogic. Uneori, logica poate fi sacrificată pentru simplitate, dar este mai bine să aruncați părți ale designului care sunt doar rareori utile decât să complicați implementarea sau să sacrificați consistența.
  4. Completitudine: designul ar trebui să acopere cât mai multe situații importante. Completitudinea poate fi sacrificată în favoarea altor calități și trebuie sacrificată dacă interferează cu simplitatea. Consecvența poate fi sacrificată în favoarea completității dacă se menține simplitatea (o interfață logică este mai ales inutilă).

Gabriel consideră că limbajul C și sistemul Unix sunt exemple ale acestei abordări.

MIT

Articolul îl contrastează cu o abordare numită „abordarea MIT” ( MIT  - Massachusetts Institute of Technology). Gabriel descrie această abordare a proiectării după cum urmează:

  1. Simplitate: Implementarea și interfața ar trebui să fie simple. Simplitatea interfeței este mai importantă decât simplitatea implementării.
  2. Corectitudine: Designul trebuie să fie corect din toate punctele de vedere. Designul greșit este strict interzis.
  3. Consecvența este la fel de importantă ca și corectitudinea. De dragul logicii, poți sacrifica simplitatea și completitudinea.
  4. Completitudine: designul ar trebui să acopere cât mai multe situații importante. Trebuie prevăzute toate situațiile posibile. Simplitatea nu ar trebui să interfereze prea mult cu completitudinea.

Efect

Gabriel susține că abordarea „mai rău este mai bine” este de preferat „abordării MIT”. Un sistem ușor de implementat va fi portat cu ușurință pe diferite sisteme de operare, adică se va răspândi rapid chiar înainte ca un sistem realizat după principiile MIT să fie scris. Un sistem mai ușor de implementat va atrage mai mulți utilizatori care înțeleg cum funcționează și doresc să-l îmbunătățească. Îmbunătățirile vor continua până când sistemul este aproape perfect. Ca exemplu, Gabriel citează compilatoare pentru C și Lisp . În 1987, scrie Gabriel, compilatoarele din aceste limbi erau aproape egale în calitate, dar erau mult mai mulți oameni care doreau să îmbunătățească compilatorul C decât compilatorul Lisp.

Deși Gabriel a fost primul care a formulat acest principiu, idei similare au fost folosite mult mai devreme în ideologia UNIX și a software-ului open source .

Vezi și

Link -uri