10 tip til skrivning af renere & bedre kode

  • Michael Fisher
  • 0
  • 3864
  • 918
Reklame

Uden tvivl er programmering hård. Sådan lærer man programmering uden al stress Sådan lærer man programmering uden al stress. Måske har du besluttet at forfølge programmering, hvad enten det drejer sig om en karriere eller bare som en hobby. Store! Men måske begynder du at blive overvældet. Ikke så stor. Her er hjælp til at lette din rejse. . Det er en ting at lære sprog og studere algoritmer, men det er et helt andet dyr, der prøver at kode et komplekst arbejdsapplikation, der ikke får dig til at ønske at klø dine øjne.

På en måde er det at skrive ren kode meget som at tegne, lave mad eller fotografere 5 Kreative hobbyer, der vil gøre dig til en lykkeligere person 5 Kreative hobbyer, der vil gøre dig til en lykkeligere person Et ordentligt kreativt afsætningsmiddel kan udføre vidundere for din mentale sundhed og generelt lykke. Her er et par kreative hobbyer, der viser sig at hjælpe på denne måde. - det ser lettere ud, end det faktisk er. Så hvorfor gider det? Fordi fordelene er det værd:

  • Problemer bliver lettere at løse. Når du begynder at tænke i ren kode, ændres din tilgang til problemløsning. I stedet for løsninger til brute-tvang, bliver dine algoritmer og softwaredesign mere elegante og forsætlige.
  • Mindre tid spildes på vedligeholdelse. Ren kode er lettere at læse og forstå, så du bruger mindre tid på at finde ud af, hvad visse segmenter faktisk gør, og mere tid på at fikse, revidere, udvide osv..
  • Idéer formidles tydeligere. Hvis du arbejder med andre programmerere, reducerer ren kode sandsynligheden for misforståelser mellem jer alle, hvilket også betyder færre fejl i det lange løb.

Her er, hvordan DU kan begynde at skrive ren kode.

1. Brug beskrivende navne

Hvad er variabler, klasser og funktioner? Der er mange måder at svare på, men når du virkelig tænker over det, er disse ting intet andet end grænsefladen mellem en programmør og den underliggende logik i en applikation.

Så når du bruger uklare og ikke-deskriptive navne til variabler, klasser og funktioner, du tilslører i det væsentlige applikationslogikken fra enhver programmør, der læser koden, inklusive dig selv.

“Jeg er ikke en stor programmør; Jeg er bare en god programmør med gode vaner.”
- Kent Beck

Hvad hedder en variabel DXY faktisk betyder? Hvem ved. Du bliver sandsynligvis nødt til at læse hele koden for at vende dets betydning. På den anden side er betydningen af ​​en variabel ligesom distanceBetweenXY kan genkendes med det samme.

Det samme gælder klasser og funktioner. Forlig dig ikke med CalcTan () når du kan gå efter CalculateTangent () eller CalcTangentAngle () i stedet.

2. Giv hver klasse / funktion et formål

Har du nogensinde kiggede inde i en funktion, der var hundreder eller endda tusinder af linjer lang? Hvis du har det, ved du, hvor meget af en smerte det kan være at gennemse, forstå og redigere. Kommentarer kan kun hjælpe i begrænset omfang.

“Programmering bryder en stor umulig opgave i flere små mulige opgaver.”
- Jazzwant

Ren kode er opdelt i atombunker. Hver funktion skal sigte mod at gøre en enkelt ting, og hver klasse skal sigte mod at repræsentere et bestemt koncept. Dette er selvfølgelig en forenkling, men når du er i tvivl, er enklere renere.

I praksis en kompleks beregning som GetCreditScore () kan være nødvendigt at blive opdelt i flere hjælpefunktioner som GetCreditReports (), ApplyCreditHistoryAge (), og FilterOutstandingMarks ().

3. Slet unødvendig kode

Denne dårlige vane er en, som jeg stadig kæmper med fra tid til anden. Det sker normalt sådan: Jeg vil rette eller optimere et stykke kode, så jeg kommenterer det og udskriver lige under det - og selvom det fungerer, opbevarer jeg den gamle kode der bare i tilfælde af.

“Er det muligt, at software ikke er som noget andet, at det er beregnet til at blive kasseret: at hele pointen er altid at se det som en sæbeboble?”
- Alan J. Perlis

Over tid akkumulerer jeg en hel masse kommenterede blokke med kode, der ikke længere er behov for endnu, der er rod i mine kildefiler. Og det sjove er, at i mange tilfælde har den omkringliggende kode udviklet sig, så den kommenterede kode ikke ville fungere, selvom den blev gendannet.

Sagen er, denne praksis med at kommentere “sikkerhedskode” blev forældet ved kildekontrol. Hvis du ikke bruger noget som Git eller Mercurial, er du nødt til at begynde at bruge kildekontrol med det samme. Hvad er Git og hvorfor du skal bruge versionskontrol, hvis du er en udvikler. Hvad er Git, og hvorfor du skal bruge versionskontrol, hvis du er re a Developer Som webudviklere, en masse af den tid, vi har tendens til at arbejde på lokale udviklingswebsteder, uploader vi bare alt, når vi er færdige. Dette er fint, når det bare er dig, og ændringerne er små,…. Renere kode venter dig.

4. Læsbarhed> Cleverness

For mange programmerere er i konflikt “ren kode” med “smart kode”, som om komprimering af ti linjer i en eller anden måde er renere. Selvfølgelig, det tager mindre plads på skærmen, men er det faktisk lettere at forstå? Nogle gange måske. Men det meste af tiden? Ingen.

“Alle ved, at fejlsøgning er dobbelt så hårdt som at skrive et program i første omgang. Så hvis du er så klog som du kan være, når du skriver det, hvordan vil du nogensinde debugge det?”
- Brian W. Kernighan

Jeg tror, ​​programmerere elsker smarte kode, fordi det føles som et løst puslespil eller gåte. De fandt en speciel og unik måde at implementere noget på: “genvej” hvis du vil - og det fungerer næsten som en validering af programmørens evner.

Men for at skrive ren kode, skal du forlade dit ego ved døren.

Optimer altid kode for den næste person, der læser den, for med sandsynlighed for, at næste person rent faktisk bliver dig, og der er intet mere skammeligt end at være ude af stand til at læse eller forstå din egen kløgtighed.

5. Behold en konsekvent kodningstil

Jeg har intet imod god programmeringsvejledning Hvad skaber en god programmeringsvejledning? Hvad skaber en god programmeringsvejledning? Ikke alle programmeringsvejledninger gøres lige. Nogle gavner dig og andre ender med at spilde din tid. Her er hvad man skal kigge efter i en programmeringsvejledning af høj kvalitet. , men en af ​​ulemperne er, at nybegynder ender med at opsamle en lang række forskellige modstridende vaner, især da de vedrører kodningstil.

Jeg er ikke her for at erklære, at en stil er bedre end en anden. Hvis du vil have seler på deres egne linjer, skal du gå efter det. Hvis du vil gå foran metodekald med mellemrum, skal du fint. Hvis du foretrækker faner frem for mellemrum, skal du ikke lade mig overbevise dig om andet.

Men uanset hvad du gør, skal du være konsekvent!

Smukke er bedre end grimme.
Eksplicit er bedre end implicit.
Enkelt er bedre end komplekst.
Kompleks er bedre end kompliceret.
Flad er bedre end indlejret.
Sparsom er bedre end tæt.
Læsbarhed tæller.
- Tim Peters, Zen af ​​Python

Hvis du vil bruge camelCaseNaming for variabler, forfalsk ikke det med underscore_naming. Hvis du bruger GetThisObject () et sted, gå ikke med FetchThatObject () et andet sted. Og hvis du blander faner og mellemrum, fortjener du at få fjernet dit tastatur.

Bestem hvad du vil gøre fra starten og hold dig fast ved og igennem. Nogle sprog, som Python og C #, har sproglige stilguider, som du måske ønsker at følge.

6. Vælg den rigtige arkitektur

Der er mange forskellige paradigmer og arkitekturer, som du kan bruge til at oprette dine projekter. Bemærk, hvordan dette tip handler om at vælge ret en til dine behov, ikke om at vælge bedst en derude. Der er ingen “bedst” her.

“Uden krav og design er programmering kunsten at tilføje bugs til en tom tekstfil.”
- Louis Srygley

For eksempel er MVC-modellen (Model-View-Controller) meget populær lige nu i webudvikling, fordi det hjælper med at holde din kode organiseret og designet på en måde, der minimerer vedligeholdelsesindsatsen.

Tilsvarende er Entity-Component-System (ECS) -mønsteret meget populært lige nu i spiludvikling, fordi det hjælper med at modularisere spildata og logik på en måde, der gør vedligeholdelse lettere, alt sammen med at producere kode, der er lettere at læse.

7. Beher sprogets idéer

En af vanskelighederne med at mestre et nyt programmeringssprog 7 Nyttige tricks til at mestre et nyt programmeringssprog 7 Nyttige tricks til at mestre et nyt programmeringssprog Det er okay at blive overvældet, når du lærer at kode. Du vil sandsynligvis glemme tingene så hurtigt, som du lærer dem. Disse tip kan hjælpe dig med at bevare alle de nye oplysninger bedre. lærer nuancerne, der adskiller det fra alle andre sprog. Disse nuancer kan være forskellen mellem grim, indviklet kode og smuk, let at vedligeholde kode.

Overvej Python, Java og JavaScript. De er alle ekstremt forskellige fra hinanden i en grad, der kræver en forskellige måder at tænke på afhængigt af hvilket sprog du vælger at bruge.

“Et sprog, der ikke påvirker den måde, du tænker på programmering, er ikke værd at vide.”
- Alan J. Perlis

Mens Python handler om kompakt kode og ænder at indtaste, er Java mere i retning af verbositet og eksplicit. Hvert sprog har idiomer (såsom listeforståelser i Python), der tilskynder til en bestemt måde at kode på. Du ville gøre det godt at lære dem.

Der er også “anti-mønstre” at bekymre dig om, som i det væsentlige er suboptimale designmønstre, der resulterer i ineffektiv, upålidelig eller på anden måde dårlig kode. Undersøg og aflær alle de almindelige antimønstre relateret til dit valg af sprog.

8. Undersøg Masters Code

Hvis du vil skrive ren kode, er det bedste, du kan gøre, at se, hvordan ren kode ser ud og prøve at forstå, hvorfor det er sådan det er - og der er ingen bedre måde at gøre dette på end ved at studere kildefilerne i industrien mestre.

Det er klart, at du ikke bare kan springe ind i Microsofts hovedkvarter og kigge på deres projekter, men du kan altid gennemse kendte open source-projekter. Sådan vises og redigeres kildekoden i en open source-app. Sådan vises og redigeres kildekoden Af en open source-app Mens du går open source kan være et godt valg, skal du også investere i det rigtige samfund. GitHub er et af de bedste steder at gøre dette, ikke kun på grund af det store beløb ... . Ved du ikke, hvor du skal starte? Prøv de udstillede projekter på Github.

“Enhver nar kan skrive kode, som en computer kan forstå. Gode ​​programmører skriver kode, som mennesker kan forstå.”
- Martin Fowler, Refactoring: Forbedring af designet til eksisterende kode

Det er trods alt en af ​​grundene til, at der findes open source-projekter. Hvorfor bidrager folk til Open Source-projekter? Hvorfor bidrager folk til open source-projekter? Open source-udvikling er softwarens fremtid. Det er godt for brugere, fordi open source-software normalt er tilgængelig gratis og ofte mere sikker at bruge. Men hvad tvinger udviklere til at bidrage med kode gratis? : så andre kan lære af dem. Og hvis du beslutter at bidrage til et sådant projekt, kan det fremskynde indlæringsprocessen 5 Projektideer, der hjælper dig med at lære programmering hurtigere 5 Projektideer, der hjælper dig med at lære at programmere hurtigere Der er nogle få måder at lette læringskurven for programmering. Få dine hænder beskidte, og lær hurtigere med sideprojekter, du kan starte når som helst. Leg rundt med disse fem. .

Personligt er den allerførste gang jeg så virkelig ren kode, da jeg snublede over en bestemt hobbyers open source Python-projekt. Koden var så overvældende elegant, at jeg næsten afsluttede programmeringen, men det endte med at lære mig meget.

9. Skriv gode kommentarer

“Skriv gode kommentarer” er det ældste råd i programmeringsverdenen. Så snart nybegynder introduceres til kommentarer, opmuntres de stort set til at kommentere så ofte som de kan.

Men det føles næsten som om vi har svinget for langt i den modsatte retning. Især nybegynderne har en tendens til at overkommentere - beskrive ting, der ikke behøver at blive beskrevet og mangler pointen om, hvad en “god kommentar” faktisk er det.

“Kode altid som om den fyr, der ender med at opretholde din kode, vil være en voldelig psykopat, der ved, hvor du bor.”
- John Woods

Her er en god tommelfingerregel: kommentarer findes for at forklare, hvorfor der findes et stykke kode snarere end HVILK koden faktisk gør. Hvis koden er skrevet rent nok, skal den være selvforklarende hvad den gør - kommentaren skal kaste lys over hensigten bag hvorfor den blev skrevet.

Kommentarer kan være gode til advarsler (dvs.. “at fjerne dette vil bryde A, B og C”) men for det meste skal afdække ting, der ikke umiddelbart kan indhentes fra koden (dvs.. “Brug denne parameter, fordi X, Y og Z”).

10. Refactor, Refactor, Refactor

Ligesom redigering er en del af skriveprocessen, er refactoring en del af kodningsprocessen. En modvilje mod refactoring er den hurtigste måde at ende med uoverholdelig kode på, så på mange måder er dette faktisk det vigtigste tip at overveje.

Kort sagt, refactoring er bare en fancy udtryk for at rydde op i koden uden at påvirke dens faktiske opførsel.

“Hver gang jeg skal tænke for at forstå, hvad koden gør, spørger jeg mig selv, om jeg kan refaktorere koden for at gøre denne forståelse mere øjeblikkelig synlig.”
- Martin Fowler, Refactoring: Forbedring af designet til eksisterende kode

En smule visdom, der har sat mig fast, er ordsproget, “Kommenter ikke dårlig kode. Omskriv det.” Som Fowler forklarer i citatet ovenfor, hvis koden nogensinde føles forvirrende nok til at du har brug for at kommentere den, måske har du faktisk brug for at refaktorere den.

Når du desuden redigerer kodestykker her og der gennem hele dit projekt, lad altid koden være i bedre tilstand, end da du først fandt den. Det kan se ud som en gener i øjeblikket, men det vil lønne sig i det lange løb (og kan endda afværge mental udbrændthed. Programmering af udbrændthed: Sådan genvinder du din mistede motivation. kode kan drænes fysisk og følelsesmæssigt. Alt hvad du behøver for at komme op igen er bevidstheden om, at motivation kan genvindes.).

Der er altid noget nyt at lære

En programmør, der lærer at skrive ren kode, svarer til en forfatter, der lærer at skrive ren prosa: der er ikke en rigtig måde at gøre det i sig selv, men der er masser af forkerte måder at gøre det på, og det vil tage år at mestre.

Nogle mennesker har ikke, hvad det kræver, og til sidst ender med at holde op med at programmere til gode 6 tegn på, at du ikke er beregnet til at være programmør, 6 tegn på, at du ikke har til hensigt at være programmør. Ikke alle er udskåret til at være en programmør. Hvis du ikke er helt sikker på, at du er beregnet til at være programmør, er her nogle tegn, der kan pege dig i den rigtige retning. - og det er fint, fordi der er masser af andre tekniske job, der ikke involverer kodning Kodning er ikke for alle: 9 Tekniske job, du kan få uden det Kodning er ikke for alle: 9 Tekniske job, du kan få uden det Don ' t afskrækkes, hvis du vil være en del af det tekniske felt. Der er masser af job for mennesker uden kodningsevner! .

Men for alle andre er ren kode noget, der er absolut værd at stræbe mod, selvom det tager resten af ​​dit liv at komme dertil.

Hvor vigtig er ren kode for dig? Hvilke regler følger du for at holde din kode ren og organiseret? Har du andre visdomstykker at dele? Fortæl os det i kommentarerne herunder!




Endnu ingen kommentarer

Om moderne teknologi, enkel og overkommelig.
Din guide i en verden af moderne teknologi. Lær hvordan du bruger de teknologier og gadgets, der omgiver os hver dag, og lær, hvordan du finder interessante ting på Internettet.