Ju sämre desto bättre

Värre är bättre  - ett tillvägagångssätt för mjukvaruutveckling som förklarar enkel implementering och enkelhet i gränssnittet viktigare än några andra egenskaper hos systemet. Denna stil beskrivs av Richard P. Gabriel i Lisp : Good News, Bad News, How to Win Big under "The Rise of 'Worse is Better'" och trycks ofta om som en separat artikel.

Essence

Gabriel beskriver tillvägagångssättet så här:

  1. Enkelhet: Implementeringen och gränssnittet ska vara enkelt. Enkel implementering är ännu viktigare än enkelheten i gränssnittet. Enkelhet är det viktigaste kravet vid val av design.
  2. Korrekthet: designen måste vara korrekt i alla synliga manifestationer. En enkel design är lite bättre än en riktig.
  3. Konsistens (konsistens): Designen ska inte vara för ologisk. Ibland kan logik offras för enkelhetens skull, men det är bättre att kassera delar av designen som bara sällan är användbara än att komplicera implementeringen eller offra konsekvensen.
  4. Fullständighet: Designen ska täcka så många viktiga situationer som möjligt. Fullständighet kan offras till förmån för andra egenskaper och måste offras om det stör enkelheten. Konsistens kan offras till förmån för fullständighet om enkelheten bibehålls (ett logiskt gränssnitt är särskilt värdelöst).

Gabriel anser att C-språket och Unix- systemet är exempel på detta tillvägagångssätt.

MIT

Artikeln kontrasterar det med ett tillvägagångssätt som kallas "MIT approach" ( MIT  - Massachusetts Institute of Technology). Gabriel beskriver detta tillvägagångssätt för design på följande sätt:

  1. Enkelhet: Implementeringen och gränssnittet ska vara enkelt. Enkelheten i gränssnittet är viktigare än enkelheten i implementeringen.
  2. Korrekthet: Designen måste vara korrekt på alla sätt. Fel design är strängt förbjudet.
  3. Konsekvens är lika viktigt som korrekthet. För logikens skull kan du offra enkelhet och fullständighet.
  4. Fullständighet: Designen ska täcka så många viktiga situationer som möjligt. Alla möjliga situationer måste förutses. Enkelhet bör inte störa fullständigheten för mycket.

Effekt

Gabriel hävdar att "värre är bättre"-metoden är att föredra framför "MIT-metoden". Ett lättimplementerat system kommer enkelt att porteras till olika operativsystem, det vill säga att det snabbt sprids redan innan ett system gjort enligt MIT-principer är skrivet. Ett enklare att implementera system kommer att locka fler användare som förstår hur det fungerar och vill förbättra det. Förbättringar kommer att fortsätta tills systemet är nästan perfekt. Som ett exempel nämner Gabriel kompilatorer för C och Lisp . År 1987, skriver Gabriel, var kompilatorerna från dessa språk nästan lika i kvalitet, men det var mycket fler som ville förbättra C-kompilatorn än Lisp-kompilatorn.

Även om Gabriel kan ha varit den första att formulera denna princip, användes liknande idéer mycket tidigare i ideologin för UNIX och programvara med öppen källkod .

Se även

Länkar