Thursday Feb 03, 2022

Principer för mjukvarudesign DRY och KISS

I den här artikeln kommer jag att utforska principer för mjukvarudesign och deras fördelar, varför designprinciper är användbara för oss och hur vi kan implementera dem i vår dagliga programmering. Vi kommer att utforska DRY- och KISS-programvarudesignprinciperna.

DRY-principen: DRY står för ”Don’t Repeat Yourself”, en grundläggande princip för programvaruutveckling som syftar till att minska upprepning av information. DRY-principen anges som: ”Varje del av kunskap eller logik måste ha en enda, otvetydig representation i ett system.”

Överträdelser av DRY

”Vi tycker om att skriva” (eller ”Slösa allas tid”): ”Vi tycker om att skriva” innebär att skriva samma kod eller logik om och om igen. Det blir svårt att hantera koden och om logiken ändras måste vi göra ändringar på alla ställen där vi har skrivit koden, vilket innebär att vi slösar bort allas tid.

Hur man uppnår DRY

För att undvika att bryta mot DRY-principen bör du dela upp ditt system i delar. Dela upp din kod och logik i mindre återanvändbara enheter och använd den koden genom att kalla den där du vill. Skriv inte långa metoder, utan dela upp logiken och försök att använda den befintliga biten i din metod.

DRY-fördelar

Mindre kod är bra: Det sparar tid och arbete, är lätt att underhålla och minskar också risken för buggar.

Ett bra exempel på DRY-principen är hjälpklasser i företagsbibliotek, där varje kodbit är unik i biblioteken och hjälpklasserna.

KISS: Keep It Simple, Stupid

KISS-principen är beskrivande för att hålla koden enkel och tydlig, vilket gör den lätt att förstå. Programmeringsspråk är trots allt till för att människor ska förstå – datorer kan bara förstå 0 och 1 – så håll kodningen enkel och okomplicerad. Håll dina metoder små. Varje metod bör aldrig vara mer än 40-50 rader.

Varje metod bör bara lösa ett litet problem, inte många användningsfall. Om du har många villkor i metoden ska du dela upp dessa i mindre metoder. Det blir inte bara lättare att läsa och underhålla, utan det kan hjälpa till att hitta buggar mycket snabbare.

Överträdelser av KISS

Vi har alla troligen upplevt situationen där vi får arbete att göra i ett projekt och hittar lite rörig kod skriven. Det leder till att vi frågar oss varför de har skrivit dessa onödiga rader. Ta bara en titt på nedanstående två kodutdrag som visas nedan. Båda metoderna gör samma sak. Nu måste du bestämma vilken du ska använda:

public String weekday1(int day) { switch (day) { case 1: return "Monday"; case 2: return "Tuesday"; case 3: return "Wednesday"; case 4: return "Thursday"; case 5: return "Friday"; case 6: return "Saturday"; case 7: return "Sunday"; default: throw new InvalidOperationException("day must be in range 1 to 7"); }}public String weekday2(int day) { if ((day < 1) || (day > 7)) throw new InvalidOperationException("day must be in range 1 to 7"); string days = { "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday" }; return days;}

Hur man uppnår KISS

För att undvika att bryta mot KISS-principen ska du försöka skriva enkel kod. Tänk på många lösningar på ditt problem, välj sedan den bästa och enklaste lösningen och förvandla den till din kod. När du hittar lång kod, dela upp den i flera metoder – högerklicka och refaktorisera i editorn. Försök att skriva små kodblock som utför en enda uppgift.

Fördelen med KISS

Om vi har en funktionalitet som har skrivits av en utvecklare och den har skrivits med rörig kod, och om vi ber en annan utvecklare att göra ändringar i den koden, så måste de först förstå koden. Det är uppenbart att om koden är skriven på ett enkelt sätt kommer det inte att vara några svårigheter att förstå den koden, och den kommer också att vara lätt att ändra.

Sammanfattning

När du skriver någon kod eller modul ska du ha programvarudesignprinciperna i åtanke och använda dem på ett klokt sätt, gör dem till en vana så att du inte behöver fortsätta att komma ihåg varje gång. Det sparar utvecklingstid och gör din mjukvarumodul robust, som kan vara lätt att underhålla och utöka.

Lämna ett svar

Din e-postadress kommer inte publiceras.

Back to Top