Det är lätt att skriva kod. Det är utmanande att skriva bra kod.
Dålig kod kommer i många former. Stökig kod, massiva om-annat-kedjor, program som bryter med en justering, variabler som inte är vettiga – programmet kanske fungerar en gång, men om det sätts på prov kommer det aldrig att stå starkt.
Om du vill bli programmerare, nöj dig aldrig med genvägar. Sikta på att skriva kod som är lätt att underhålla – lätt för dig att underhålla och lätt för alla andra utvecklare i ditt team att underhålla.
Hur skriver man effektiv kod? Genom att vara disciplinerad och målmedveten. Här är 10 programmeringsprinciper som gör dig till en bättre kodare.
1. Keep It Simple, Stupid (KISS)
Det låter lite hårt, men det är en av de viktigaste kodningsprinciperna att leva efter. Vad betyder KISS?
Det betyder att du ska skriva kod så enkelt som möjligt. En av reglerna för grundläggande programmering är att aldrig fastna i att försöka vara alltför smart eller visa upp sig med ett tjockt block av avancerad kod. Om du kan skriva ett manus på en rad, skriv det på en rad.
Här är en enkel funktion:
function addNumbers(num1,num2){
return num1 + num2;
}
Ganska enkelt. Det är lätt att läsa och du vet exakt vad som händer.
En programmeringsprincip i denna anda är att använda tydliga variabelnamn. Dra nytta av kodningsbibliotek och använd befintliga verktyg. Gör det enkelt att komma tillbaka efter sex månader och komma tillbaka till jobbet direkt. Att hålla saker enkla kommer att spara dig så mycket onödigt lidande under tiden.
2. Skriv DRY Code
Datorprogrammeringsprincipen Don’t Repeat Yourself (DRY) betyder helt klart att man inte upprepar kod. Det är ett vanligt kodningsfel. Undvik duplicering av data eller logik när du skriver kod. Om du någon gång har kopierat och klistrat in kod i ditt program, är det inte DRY-kod.
Ta en titt på det här skriptet:
function addNumberSequence(number){
number = number + 1;
number = number + 2;
number = number + 3;
number = number + 4;
number = number + 5;
return number;
}
Istället för att duplicera linjer, försök hitta en algoritm som använder en loop istället.
DRY-koden är lätt att underhålla. Det är lättare att felsöka en slinga som hanterar 50 repetitioner än 50 kodblock som hanterar en repetition var.
3. Öppen/stängd
Denna programmeringsprincip innebär att du bör sträva efter att göra din kod öppen för förlängning men stängd för modifiering. Detta är en viktig princip när man släpper ett bibliotek eller ramverk som andra kommer att använda.
Anta till exempel att du har ett ramverk för grafiskt användargränssnitt. Du kan släppa en version för kodare för att direkt modifiera och integrera din frigivna kod. Vad händer när du släpper en stor uppdatering fyra månader senare?
Deras kod kommer att gå sönder. Detta kommer sannolikt att göra dina kohorter mycket olyckliga. De kommer inte att vilja använda ditt bibliotek mycket längre, oavsett hur användbart det kan ha varit i sin storhetstid.
Släpp istället kod som förhindrar direkta ändringar och uppmuntrar förlängning. Grundläggande programmeringsprinciper som detta skiljer kärnbeteendet från modifierat beteende. Koden är mer stabil och lättare att underhålla.
4. Sammansättning över arv
Om du skriver kod med hjälp av objektorienterad programmering kommer du att tycka att den här programmeringsprincipen är mycket användbar. Principen om sammansättning över arv säger: objekt med komplexa beteenden bör innehålla instanser av objekt med individuella beteenden. De ska inte ärva en klass och lägga till nya beteenden.
Att förlita sig på arv orsakar två stora problem. För det första kan arvshierarkin bli rörig i all hast. Du har också mindre flexibilitet för att definiera beteenden i speciella fall. Låt oss säga att du vill implementera beteenden för att dela:
Kompositionsprogrammering är renare att skriva, lättare att underhålla och möjliggör flexibilitetsdefinierande beteenden. Varje enskilt beteende är sin egen klass. Du kan skapa komplexa beteenden genom att kombinera individuella beteenden.
5. Enskilt ansvar
Principen om ett enda ansvar säger att varje klass eller modul i ett program endast ska tillhandahålla en specifik funktionalitet. Som Robert C. Martin uttrycker det, “En klass borde bara ha en anledning att ändra sig.”
Klasser och moduler börjar ofta på det här sättet. Var noga med att inte lägga till för många ansvarsområden eftersom klasserna blir mer komplicerade. Refaktorera och dela upp dem i mindre klasser och moduler.
Konsekvensen av överbelastningsklasser är tvåfaldig. För det första komplicerar det felsökningen när du försöker isolera en viss modul för felsökning. För det andra blir det svårare att skapa ytterligare funktionalitet för en specifik modul. Bra programmeringsprinciper förhindrar dessa problem innan de blir problem att hantera.
6. Separering av bekymmer
Begreppet separation av intressen är en abstrakt version av principen om ett enda ansvar. Denna idé säger att ett program ska utformas med olika behållare, och dessa behållare ska inte ha tillgång till varandra.
Ett välkänt exempel på detta är designen av modell-vy-kontroller (MVC). MVC delar upp ett program i tre distinkta områden: data (modell), logik (kontroller) och vad sidan visar (vy). Variationer av MVC är vanliga i dagens mest populära webbramverk.
Till exempel behöver koden som hanterar databasen inte veta hur man renderar data i webbläsaren. Återgivningskoden tar input från användaren, men den logiska koden hanterar bearbetningen. Varje kod är helt oberoende.
Resultatet är kod som är lätt att felsöka. Om du någonsin behöver skriva om renderingskoden kan du göra det utan att oroa dig för hur data sparas eller logiken bearbetas.
7. Du kommer inte att behöva det (YAGNI)
Detta principen innebär att du aldrig ska koda för funktionalitet om du kan behöva något i framtiden. En av de viktigaste principerna för datorprogrammering att lära sig är att du inte ska försöka lösa ett problem som inte finns.
I ett försök att skriva DRY-kod kan programmerare bryta mot denna princip. Ofta försöker oerfarna programmerare skriva den mest abstrakta och generiska koden de kan. För mycket abstraktion orsakar dock uppsvälld kod som är omöjlig att underhålla.
Tillämpa endast DRY programmeringsprinciper när du behöver; om du märker bitar av kod skrivna om och om igen, implementera ett lager av abstraktion. Tänk inte för långt fram på bekostnad av din nuvarande kodbatch.
8. Dokumentera din kod
Med allt det här snacket om principerna för kodning kan det vara lätt att glömma människan på andra sidan som så småningom kan komma in i din kod själv.
Alla seniora utvecklare kommer att betona vikten av att dokumentera din kod med korrekta kommentarer. Alla språk erbjuder dem; du bör göra det till en vana att skriva dem. Lämna kommentarer för att förklara objekt, förbättra variabeldefinitioner och göra funktioner lättare att förstå.
Här är en JavaScript-funktion med kommentarer som guidar dig genom koden:
//This function will add 5 to the input if odd, or return the number if even
function evenOrOdd(number){
//Determine if the number is even
if(number % 2 == 0){
return number;
}
//If the number is odd, this will add 5 and return
else {
return number + 5;
}
}
Att lämna kommentarer är lite mer jobb medan du kodar. Det tar tid och stjäl din uppmärksamhet från det verkliga arbetet. Du förstår din kod ganska bra ändå, eller hur? Vem bryr sig? Det är värt att komma ihåg att ingenting är engångsbruk, inte ens i den tekniska världen. Vad är en datorprogrammeringsprincip i slutet av dagen om personen på andra sidan hamnar på att gå vilse?
Vi rekommenderar att du gör det lilla extra och lämnar kommentarer där du oroar dig för att saker blir grumliga eller otydliga, särskilt när du samarbetar med andra. Frustrera inte dina andra utvecklare genom att tvinga dem att dechiffrera din syntax.
Försök att skriva ett program, lämna det ifred i sex månader och gå tillbaka för att ändra det. Du kommer att vara glad att du dokumenterade ditt program istället för att behöva gå igenom alla funktioner för att komma ihåg hur det fungerar.
9. Refaktor
Det är svårt att acceptera, men din kod kommer inte att vara perfekt första gången. Refaktorering av kod innebär att granska din kod och leta efter sätt att optimera den, vilket gör den mer effektiv samtidigt som resultaten behålls exakt desamma.
Kodbaser utvecklas ständigt. En av principerna för programmering är att komma ihåg att det är helt normalt att återbesöka, skriva om eller till och med designa om hela kodbitar. Det betyder inte att du inte lyckades första gången du skrev ditt program; du kommer oundvikligen att bli mer bekant med ett projekt med tiden. Använd den kunskapen för att justera dig själv när du gör framsteg.
10. Rengör kod till varje pris
Lämna ditt ego vid dörren och glöm bort att skriva smart kod. När vi säger detta menar vi den typ av kod som ser mer ut som en gåta än en lösning. Du kodar inte för att imponera på främlingar. Du är i det här yrket för att lösa problem.
Försök inte packa massor av logik på en rad. Lämna tydliga instruktioner i dina kommentarer och dokumentation. Om din kod är lätt att läsa kommer den också vanligtvis att vara lätt att underhålla.
Bra programmerare och läsbar kod går hand i hand. Lämna kommentarer när det behövs, följ stilguiderna och sätt dig själv i nästa killes skor när det är möjligt.
Lär dig principerna för datorprogrammering: Vad gör en bra programmerare?
Att lära sig att vara en bra programmerare tar en hel del tid och ansträngning. Dessa 10 regler för grundläggande programmering är en färdplan för att bli en professionell programmerare.
En bra programmerare förstår hur man gör sina appar enkla att använda, fungerar bra inom ett team och avslutar projekt enligt specifikation och i tid. Genom att följa dessa hävdvunna principer för programmering kommer du att göra dig redo för framgång i din egen framtida programmeringskarriär.
Om författaren
Anthony Grant (39 artiklar publicerade)
Anthony Grant är en frilansskribent som täcker programmering och programvara. Han är en datavetenskaplig huvudman som sysslar med programmering, Excel, mjukvara och teknik.
Mer från Anthony Grant
Prenumerera på vårt nyhetsbrev
Gå med i vårt nyhetsbrev för tekniska tips, recensioner, free e-böcker och exklusiva erbjudanden!
Klicka här för att prenumerera
