10 tips för att skriva renare och bättre kod

Att skriva ren kod ser lättare ut än vad den egentligen är, men fördelarna är värda det. Så här kan du börja skriva renare kod idag.

Att skriva ren kod ser lättare ut än vad den egentligen är, men fördelarna är värda det.  Så här kan du börja skriva renare kod idag.
Annons

Utan tvekan är programmering svårt. Hur man läser programmering utan all stress. Hur man lär sig programmering utan all stress. Kanske har du bestämt dig för att fortsätta programmera, vare sig du är en karriär eller bara som en hobby. Bra! Men kanske börjar du känna dig överväldigad. Inte så bra. Här är hjälp för att underlätta din resa. Läs mer . Det är en sak att lära sig språk och studera algoritmer, men det är ett helt annat djur som försöker koda en komplicerad arbetsapplikation som inte gör att du vill klara dina ögon.

På ett sätt är att skriva ren kod mycket som teckning, matlagning eller fotografering. 5 Kreativa hobbyer som gör dig till en lyckligare person. 5 Kreativa hobbyer som gör dig till en lyckligare person. Ett korrekt kreativt utlopp kan göra underverk för din mentala hälsa och övergripande lycka. Här är några kreativa hobbyer som bevisas hjälpa till på detta sätt. Läs mer - det ser lättare ut än det faktiskt är. Så varför stör? Tja, för att fördelarna är värda det:

  • Problem blir lättare att lösa. När du börjar tänka i ren kod, förändras din inställning till problemlösning. Istället för brutna tvångslösningar blir dina algoritmer och mjukvaruutveckling mer eleganta och avsiktliga.
  • Mindre tid är bortkastad vid underhåll. Ren kod är lättare att läsa och förstå, så du spenderar mindre tid på att försöka lista ut vilka vissa segment faktiskt gör och mer tid på att fixa, revidera, utvidga etc.
  • Idéer kommuniceras tydligare. Om du arbetar med andra programmerare reducerar ren kod sannolikheten för missförstånd mellan er alla, vilket också betyder färre fel på lång sikt.

Så här kan du börja skriva ren kod.

1. Använd beskrivna namn

Vad är variabler, klasser och funktioner? Det finns många sätt att svara på det, men när du verkligen tänker på det är dessa saker inget annat än gränssnittet mellan en programmerare och den underliggande logiken i en applikation.

Så när du använder oklara och icke-beskrivna namn för variabler, klasser och funktioner, försvårar du huvudsakligen programlogiken från någon programmerare som läser koden, inklusive dig själv.

"Jag är inte en bra programmerare; Jag är bara en bra programmerare med stora vanor. "
- Kent Beck

Vad betyder en variabel som heter dxy egentligen? Vem vet. Du skulle troligen behöva läsa hela biten av kod för att omvandla sin betydelse. Å andra sidan är betydelsen av en variabel som distanceBetweenXY genkännbar.

Detsamma gäller för klasser och funktioner. CalcTan() inte för CalcTan() när du kan gå till CalculateTangent() eller CalcTangentAngle() istället.

2. Ge varje klass / funktion ett syfte

Har du någonsin kollat ​​inuti en funktion som var hundratals eller till och med tusentals linjer långa? Om du har så vet du hur mycket det kan vara att smitta, förstå och redigera. Kommentarer kan hjälpa men endast i begränsad utsträckning.

"Programmering bryter en stor omöjlig uppgift i flera små möjliga uppgifter."
- Jazzwant

Ren kod är uppdelad i atombitar. Varje funktion bör sträva efter att göra en enda sak och varje klass bör sträva efter att representera ett visst begrepp. Detta är en förenkling självklart, men när det är tveksamt är enklare renare.

I praktiken kan en komplex beräkning som GetCreditScore() behöva brytas upp i flera GetCreditReports() som GetCreditReports(), ApplyCreditHistoryAge() och FilterOutstandingMarks() .

3. Ta bort onödig kod

Denna dåliga vana är en som jag fortfarande kämpar med från tid till annan. Det händer vanligtvis så här: Jag vill fixa eller optimera en bit av kod så jag kommenterar det och gör en omskrivning strax under det - och även om det fungerar, behåller jag den gamla koden där just då.

"Är det möjligt att programvara inte är som något annat, att det är tänkt att kasseras: att hela poängen är att alltid se den som en tvålbubbla?"
- Alan J. Perlis

Med tiden samlar jag upp en hel del kommenterade block av kod som inte längre behövs, men stör mina källfiler. Och det roliga är att i många fall har den omgivande koden utvecklats så att kommenterad kod inte skulle fungera även om den återställs.

Saken är att denna praxis att kommentera "backup-kod" gjordes föråldrad av källkontroll. Om du inte använder något som Git eller Mercurial, måste du börja använda källkontroll direkt. Vad är Git och varför du bör använda Versionskontroll Om du är en utvecklare Vad är Git och varför ska du använda Version Control om du re en utvecklare Som webbutvecklare, lägger vi mycket tid på att arbeta på lokala utvecklingsplatser, så ladda bara upp allt när vi är klara. Det här är bra när det bara är du och förändringarna är små, ... Läs mer. Rengöringskod väntar på dig.

4. Läsbarhet> Cleverness

För många programmerare sammanfaller "ren kod" med "smart kod", som om komprimering av tio linjer i en på något sätt är renare. Visst, det tar upp mindre utrymme på skärmen, men är det faktiskt lättare att förstå? Ibland kanske. Men mest av tiden? Nej.

"Alla vet att debugging är dubbelt så svårt som att skriva ett program i första hand. Så om du är så smart som du kan vara när du skriver den, hur kommer du någonsin att felsöka den? "
- Brian W. Kernighan

Jag tror programmerare älskar smart kod eftersom det känns som ett löst pussel eller gåta. De hittade ett speciellt och unikt sätt att implementera någonting - en "genväg" om du vill - och det fungerar nästan som en validering av programmerarens färdigheter.

Men för att skriva ren kod måste du lämna ditt ego vid dörren.

Optimera alltid koden för nästa person som ska läsa den, för det är sannolikt att nästa person faktiskt kommer att bli DIG och det finns inget mer skamligt än att inte kunna läsa eller förstå din egen intelligens.

5. Håll en konsekvent kodningstil

Jag har inget emot bra programmeringstutorials Vad gör en bra programmeringstutorial? Vad gör en bra programmeringstutorial? Inte alla programmeringstutorials görs lika. Några gagnar dig och andra slutar slösa din tid. Här är vad du ska leta efter i en kvalitetsprogram för programmering. Läs mer, men en av nackdelarna är att nybörjare hamnar på ett brett spektrum av motstridiga vanor, särskilt när de gäller kodningstil.

Jag är inte här för att förklara att en stil är bättre än någon annan. Om du vill ha braces på egna linjer, gå för det. Om du vill gå före metalsamtal med mellanslag, bra. Om du föredrar flikar till mellanslag, låt mig inte övertyga dig annars.

Men vad du än gör, förbli konsekvent!

Vacker är bättre än ful.
Explicit är bättre än implicit.
Enkel är bättre än komplex.
Komplexa är bättre än komplicerat.
Platt är bättre än kapslade.
Sparsom är bättre än tät.
Läsbarhetstalet.
- Tim Peters, Zen av Python

Om du ska använda camelCaseNaming för variabler, förstör det inte med underscore_naming . Om du använder GetThisObject() på ett ställe, gå inte med FetchThatObject() någon annanstans. Och om du blandar flikar och mellanslag, förtjänar du att ta bort tangentbordet.

Bestäm vad du ska göra från början och håll fast med det genom och igenom. Vissa språk, som Python och C #, har språkövergripande stilguider som du kanske vill följa.

6. Välj rätt arkitektur

Det finns många olika paradigmer och arkitekturer som du kan använda för att skapa dina projekt. Observera hur detta tips handlar om att välja rätt för dina behov, inte om att välja det bästa där ute. Det finns inget "bäst" här.

"Utan krav och design är programmering konsten att lägga till buggar i en tom textfil."
Louis Srygley

MVC-mönstret Model-View-Controller (MVC) är till exempel väldigt populärt just nu i webbutveckling eftersom det hjälper till att hålla din kod organiserad och utformad på ett sätt som minimerar underhållsarbetet.

På samma sätt är ECS-mönstret mycket populärt just nu i spelutveckling eftersom det hjälper modulariserar speldata och logik på ett sätt som gör underhållet enklare, samtidigt som man producerar kod som är lättare att läsa.

7. Behärskar språkens idiom

En av svårigheterna med att behärska ett nytt programmeringsspråk 7 Användbara tricks för att mastera ett nytt programmeringsspråk 7 Användbara tricks för att behärska ett nytt programmeringsspråk Det är okej att vara överväldigad när du lär dig att koda. Du kommer noga att glömma saker så fort du lär dig dem. Dessa tips kan hjälpa dig att bättre behålla all den nya informationen. Läs mer läser nyanser som skiljer det från alla andra språk. Dessa nyanser kan vara skillnaden mellan ful, konvolverad kod och vacker, lätt att underhålla kod.

Tänk på Python, Java och JavaScript. De är alla extremt olika, i en grad som kräver ett annat sätt att tänka beroende på vilket språk du väljer att använda .

"Ett språk som inte påverkar hur du tänker på programmering är inte värt att veta."
- Alan J. Perlis

Medan Python handlar om kompakt kod och ank typing, är Java mer mot sidan av verbosity och explicitness. Varje språk har idiom (som listförståelser i Python) som uppmuntrar ett visst sätt att koda. Du skulle göra det bra för att lära dig dem.

Det finns också "anti-mönster" att oroa sig för, vilket är i huvudsak suboptima designmönster som resulterar i ineffektiva, opålitliga eller annars dåliga kod. Studera och avlägsna alla vanliga antimönster relaterade till ditt språk.

8. studera koden för mästare

Om du vill skriva ren kod är det bästa du kan göra att se vilken ren kod som ser ut och försöka förstå varför det är så som det är - och det finns inget bättre sätt att göra detta än genom att studera industrins källfiler mästare.

Självklart kan du inte bara dyka upp i Microsofts huvudkontor och kika på sina projekt, men du kan alltid bläddra i kända open source-projekt. Så här visar och redigerar du källkoden för en öppen källkod. Hur man visar och rediger källkoden Av en öppen källkod. Medan öppen källkod kan vara ett bra val, måste du också investera i rätt samhälle. GitHub är en av de bästa ställena att göra detta, inte bara på grund av det stora beloppet ... Läs mer. Vet inte vart du ska börja? Prova de uppvisade projekten på Github.

"Varje idiot kan skriva kod som en dator kan förstå. Bra programmerare skriver kod som människor kan förstå. "
- Martin Fowler, Refactoring: Förbättra utformningen av befintlig kod

Det är ju en av anledningarna till att öppna källprojekt finns. Varför bidrar människor till öppna källprojekt? Varför bidrar folk till öppna källprojekt? Öppen källkodsutveckling är mjukvarans framtid. Det är bra för användare eftersom öppen källkod är vanligtvis tillgänglig gratis och ofta säkrare att använda. Men vad tvingar utvecklare att bidra med kod gratis? Läs mer: så att andra kan lära av dem. Och om du bestämmer dig för att bidra till ett sådant projekt kan det påskynda lärandeprocessen. 5 Projektidéer som hjälper dig att lära dig programmering Snabbare 5 projektidéer som hjälper dig att lära dig programmering Snabbare Det finns några sätt att underlätta inlärningskurvan för programmering. Få dina händer smutsiga och lär dig snabbare med sidoprojekt som du kan börja när som helst. Spela runt med dessa fem. Läs mer .

Personligen var första gången jag såg riktigt ren kod när jag snubblat över en viss hobbyists open source Python-projekt. Koden var så överväldigande elegant att jag nästan slutade programmera, men det slutade att lära mig mycket.

9. Skriv bra kommentarer

"Skriv bra kommentarer" är det äldsta rådet i programmeringsvärlden. I själva verket så snart som nybörjare presenteras för kommentarer, är de ganska uppmuntrade att kommentera så ofta som de kan.

Men det känns nästan som att vi har svängt för långt i motsatt riktning. Newbies, i synnerhet tenderar att överkommentarer - beskriver saker som inte behöver beskrivas och saknar meningen med vad en "bra kommentar" faktiskt är.

"Alltid kod som om killen som slutar behålla din kod kommer att vara en våldsam psykopat som vet var du bor."
- John Woods

Här är en bra tumregel: kommentarer finns för att förklara varför en kod finns i stället för vad koden faktiskt gör. Om koden är skriven rent nog, borde det vara självklarande om vad den gör - kommentaren ska belysa avsikten bakom varför den skrevs.

Kommentarer kan vara bra för varningar (dvs. "borttagning av detta kommer att bryta A, B och C"), men för det mesta bör det avslöjas saker som inte kan omedelbart tas upp från koden (dvs "använd denna parameter eftersom X, Y, och Z ").

10. Refactor, Refactor, Refactor

Precis som redigering är en del av skrivprocessen är refactoring en del av kodprocessen. En aversion mot refactoring är det snabbaste sättet att sluta med oförlåtlig kod, så på många sätt är det faktiskt det viktigaste tipset att överväga.

Kort sagt är refactoring bara ett fint uttryck för att rensa upp koden utan att påverka dess verkliga beteende.

"När jag måste tänka för att förstå vad koden gör gör jag mig själv om jag kan refactor koden för att göra den förståelsen mer omedelbart uppenbar."
- Martin Fowler, Refactoring: Förbättra utformningen av befintlig kod

En vis visdom som har fastnat med mig är ordstaven, "Kommentera inte dålig kod. Skriv om det. "Som Fowler förklarar i citatet ovan, om koden någonsin känner sig förvirrad att du behöver kommentera det, kanske du faktiskt behöver refactor den.

Dessutom, när du redigerar bitar av kod här och där genom hela ditt projekt, lämna alltid koden i ett bättre tillstånd än när du först hittade det . Det kan tyckas som en olägenhet i ögonblicket, men det kommer att löna sig i det långa loppet (och kan till och med avvärja mental utbrändhet. Programmering Burnout: Hur återställer du din förlorade motivation Programmering Burnout: Hur man återställer din förlorade motivation Skriva alla de linjerna i Koden kan dränera fysiskt och känslomässigt. Allt du behöver för att säkerhetskopiera är medvetenheten om att motivation kan återfås. Läs mer).

Det finns alltid något nytt att lära

En programmerare som lär sig att skriva ren kod är likadant av en romanförfattare att lära sig att skriva ren prosa: det finns inte rätt sätt att göra det i sig, men det finns många fel sätt att göra det, och det kommer att ta år att behärska.

Vissa människor har inte vad som krävs och slutar sluta sluta programmera för bra. 6 Tecken på att du inte är avsedd att vara en programmerare. 6 Tecken på att du inte är avsedd att vara programmerare. Inte alla är utklippna för att vara programmerare. Om du inte är helt säker på att du är avsedd att vara programmerare, här är några tecken som kan peka dig i rätt riktning. Läs mer - och det är bra för att det finns gott om andra tekniska jobb som inte innebär kodning. Kodning är inte för alla: 7 Tekniska jobb du kan få utan att kodning är inte för alla: 7 tekniska jobb du kan få utan det Bli inte avskräckt om du vill vara en del av teknikområdet - det finns gott om jobb för personer som inte vet hur man kodar! Läs mer .

Men för alla andra är ren kod något som är absolut värt att sträva mot, även om det tar resten av ditt liv att komma dit.

Hur viktigt är ren kod till dig? Vilka regler följer du för att hålla koden ren och organiserad? Fick du några andra visdomar att dela med dig? Låt oss veta i kommentarerna nedan!

In this article