Jo værre jo bedre

Værre er bedre  - en tilgang til softwareudvikling , der erklærer let implementering og enkelhed af grænsefladen vigtigere end nogen andre egenskaber ved systemet. Denne stil er beskrevet af Richard P. Gabriel i Lisp : Good News, Bad News, How to Win Big under "The Rise of 'Worse is Better'" og er ofte genoptrykt som en separat artikel.

Essens

Gabriel beskriver fremgangsmåden som følger:

  1. Enkelhed: Implementeringen og grænsefladen skal være enkel. Nem implementering er endnu vigtigere end enkelheden af ​​grænsefladen. Enkelhed er det vigtigste krav, når man skal vælge et design.
  2. Korrekthed: designet skal være korrekt i alle synlige manifestationer. Et enkelt design er lidt bedre end et ordentligt.
  3. Konsistens (konsistens): Designet bør ikke være for ulogisk. Nogle gange kan logikken ofres for enkelhedens skyld, men det er bedre at kassere dele af designet, som kun sjældent er nyttige, end at komplicere implementeringen eller ofre konsistensen.
  4. Fuldstændighed: Designet skal dække så mange vigtige situationer som muligt. Fuldstændighed kan ofres til fordel for andre kvaliteter og skal ofres, hvis det forstyrrer enkelheden. Konsistens kan ofres til fordel for fuldstændighed, hvis enkelheden opretholdes (en logisk grænseflade er især ubrugelig).

Gabriel betragter C-sproget og Unix -systemet som eksempler på denne tilgang.

MIT

Artiklen kontrasterer det med en tilgang kaldet "MIT-tilgangen" ( MIT  - Massachusetts Institute of Technology). Gabriel beskriver denne tilgang til design som følger:

  1. Enkelhed: Implementeringen og grænsefladen skal være enkel. Enkelheden af ​​grænsefladen er vigtigere end enkelheden i implementeringen.
  2. Korrekthed: Designet skal på alle måder være korrekt. Forkert design er strengt forbudt.
  3. Konsistens er lige så vigtigt som korrekthed. For logikkens skyld kan du ofre enkelhed og fuldstændighed.
  4. Fuldstændighed: Designet skal dække så mange vigtige situationer som muligt. Alle mulige situationer skal forudses. Enkelhed bør ikke forstyrre fuldstændigheden for meget.

Effekt

Gabriel hævder, at "værre er bedre"-tilgangen er at foretrække frem for "MIT-tilgangen." Et system, der er nemt at implementere, vil nemt blive porteret til forskellige operativsystemer, det vil sige, at det hurtigt spredes, selv før et system lavet efter MIT principper er skrevet. Et system, der er nemmere at implementere, vil tiltrække flere brugere, der forstår, hvordan det fungerer og ønsker at forbedre det. Forbedringer vil fortsætte, indtil systemet er næsten perfekt. Som et eksempel nævner Gabriel compilere til C og Lisp . I 1987, skriver Gabriel, var kompilatorerne fra disse sprog næsten lige i kvalitet, men der var langt flere mennesker, der ønskede at forbedre C-kompilatoren end Lisp-kompileren.

Selvom Gabriel kan have været den første til at formulere dette princip, blev lignende ideer brugt meget tidligere i ideologien med UNIX og open source-software .

Se også

Links