Uden tvivl er programmeringen hård. Sådan lærer du programmering uden al stress Sådan lærer du programmering uden stress. Måske har du valgt at forfølge programmering, uanset om du er en karriere eller bare som en hobby. Store! Men måske begynder du at føle dig overvældet. Ikke så stor. Her er hjælp til at lette din rejse. Læs mere . Det er en ting at lære sprog og studere algoritmer, men det er et helt andet dyr, der forsøger at kode et komplekst arbejdsprogram, der ikke gør, at du vil klare dine øjne.
På en måde kan skrive ren kode meget som tegning, madlavning eller fotografering. 5 Kreative hobbyer, der gør dig til en lykkeligere person. 5 Kreative hobbyer, der gør dig til en lykkeligere person. En ordentlig kreativ udløb kan gøre underværker for din mentale sundhed og overordnede lykke. Her er et par kreative hobbyer, der er bevist at hjælpe på denne måde. Læs mere - det ser lettere ud end det rent faktisk er. Så hvorfor genere? Nå, fordi fordelene er det værd:
- Problemer bliver nemmere at løse. Når du først tænker i ren kode, er din tilgang til problemløsende ændringer. I stedet for brute tvinger løsninger bliver dine algoritmer og software design mere elegant og forsætlig.
- Mindre tid er spildt ved vedligeholdelse. Ren kode er nemmere at læse og forstå, så du bruger mindre tid på at forsøge at finde ud af, hvad visse segmenter faktisk gør, og mere tid til at fastsætte, revidere, udvide osv.
- Idéer er tydeligere formidlet. Hvis du arbejder med andre programmører, reducerer ren kode sandsynligheden for misforståelser mellem jer alle, hvilket også betyder færre fejl i det lange løb.
Sådan kan du 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 på 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-beskrevne navne til variabler, klasser og funktioner, fjerner du i grunden applikationslogikken fra enhver programmør, der læser koden, herunder dig selv.
"Jeg er ikke en stor programmør; Jeg er bare en god programmør med gode vaner. "
- Kent Beck
Hvad betyder en variabel navngivet dxy
faktisk? Hvem ved. Du vil sandsynligvis nødt til at læse hele stykket af kode for at omdanne sin betydning. På den anden side er betydningen af en variabel som distanceBetweenXY
øjeblikkeligt genkendelig.
Det samme gælder for klasser og funktioner. CalcTan()
ikke for CalcTan()
når du kan gå til CalculateTangent()
eller CalcTangentAngle()
stedet.
2. Giv hver klasse / funktion et formål
Har du nogensinde kigget inde i en funktion, der var hundredvis eller endda tusindvis af linjer lang? Hvis du har, så ved du, hvor meget af en smerte det kan være at gennemse, forstå og redigere. Kommentarer kan hjælpe, men kun i begrænset omfang.
"Programmering bryder en stor umulig opgave i flere små mulige opgaver."
- Jazzwant
Ren kode er opdelt i atombiter. 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 en forenkling selvfølgelig, men når du er i tvivl, er enklere renere.
I praksis kan en kompleks beregning som GetCreditScore()
muligvis opdeles i flere hjælperfunktioner 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 som regel: Jeg vil gerne rette eller optimere et stykke kode, så jeg kommenterer det og skriver en omskrivning lige under det - og selvom det virker, holder jeg den gamle kode der lige i tilfælde.
"Er det muligt, at software ikke er som noget andet, at det er meningen at blive kasseret: at hele punktet er at altid se det som en såpeboble?"
- Alan J. Perlis
Over tid samler jeg en masse kommenterede blokke af kode, der ikke længere er nødvendige, men rydder mine kildefiler op. Og det sjove er, at den omgivende kode i mange tilfælde har udviklet sig, så den kommenterede kode ville ikke fungere, selv om den blev genoprettet.
Sagen er, denne praksis med at kommentere "backup kode" blev forældet af kildekontrol. Hvis du ikke bruger noget som Git eller Mercurial, skal du begynde at bruge kildekontrol med det samme Hvad er Git og hvorfor du bør bruge Version Control Hvis du er udvikler Hvad er Git og hvorfor du bør bruge Version Control Hvis du ' re a Developer Som webudviklere har vi meget tid til at arbejde på lokale udviklingswebsteder, så upload kun alt, når vi er færdige. Det er fint, når det bare er dig og ændringerne er små, ... Læs mere. Renere kode venter på dig.
4. Læsbarhed> Cleverness
For mange programmører samler "ren kode" med "smart kode", som om komprimering af ti linjer i en på en eller anden måde er renere. Sikker på, 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 fejlfinding er dobbelt så hård 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 fejle det? "
- Brian W. Kernighan
Jeg tror, at programmører elsker smart kode, fordi det føles som et løst puslespil eller gåde. De fandt en speciel og unik måde at implementere noget på - en "genvej", hvis du vil - og det fungerer næsten som en validering af programmørens færdigheder.
Men for at skrive ren kode, skal du forlade dit ego ved døren.
Altid optimere kode for den næste person, der vil læse den, for det er sandsynligvis, at den næste person rent faktisk vil være dig, og der er ikke noget mere skammeligt end at være i stand til at læse eller forstå din egen klogskab.
5. Hold en konsekvent kodning stil
Jeg har intet imod gode programmeringstutorials Hvad laver en god programmeringsvejledning? Hvad laver en god programmeringsvejledning? Ikke alle programmeringstutorials er lavet ens. Nogle gavner dig og andre ender med at spilde din tid. Her er hvad man skal se efter i en kvalitetsprogrammeringstutorial. Læs mere, men en af de ulemper er, at newbies ender med at samle en lang række konfliktvanlige vaner, især som de vedrører kodestil.
Jeg er ikke her for at erklære, at en stil er bedre end en anden. Hvis du ønsker armbånd på egen hånd, skal du gå efter det. Hvis du vil forudgå metodeopkald med mellemrum, er det fint. Hvis du foretrækker faner til mellemrum, lad mig ikke overbevise dig ellers.
Men uanset hvad du gør, forbliver konsistent!
Smukke er bedre end grimt.
Eksplicit er bedre end implicit.
Enkel er bedre end kompleks.
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, må du ikke forfalske det med underscore_naming
. Hvis du bruger GetThisObject()
på ét sted, skal du ikke gå med FetchThatObject()
et andet sted. Og hvis du blander faner og mellemrum, fortjener du at få dit tastatur taget væk.
Bestem hvad du skal gøre fra starten og holde fast i det igennem og igennem. Nogle sprog, som Python og C #, har sprogbaserede stilguider, som du måske vil 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 den rigtige til dine behov, ikke om at vælge den bedste derude. Der er ingen "bedste" her.
"Uden krav og design er programmeringen kunsten at tilføje fejl til en tom tekstfil."
- Louis Srygley
Model-View-Controller (MVC) mønster er for eksempel meget populært lige nu i webudvikling, fordi det hjælper med at holde din kode organiseret og designet på en måde, der minimerer vedligeholdelsesindsatsen.
På samme måde er Entity-Component-System (ECS) -mønsteret meget populært lige nu i spiludvikling, fordi det hjælper med at modulere spildata og logik på en måde, der gør vedligeholdelsen lettere, samtidig med at der produceres kode, der er lettere at læse.
7. Master sprogets idiomer
En af vanskelighederne ved 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 være overvældet, når du lærer at kode. Du vil nok glemme ting så hurtigt som du lærer dem. Disse tips kan hjælpe dig med bedre at beholde alle de nye oplysninger. Læs mere lærer nuancer, 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 meget forskellige fra hinanden, i en grad der kræver en anden måde at tænke på, afhængigt af hvilket sprog du vælger at bruge .
"Et sprog, der ikke påvirker måden du tænker på programmering, er ikke værd at vide."
- Alan J. Perlis
Mens Python handler om kompakt kode og and-typing, er Java mere mod siden af verbosity og explicitness. Hvert sprog har idiomer (som listeforståelser i Python), der fremmer en bestemt kodning. Du ville gøre det godt for at lære dem.
Der er også "anti-mønstre" at bekymre sig om, som i det væsentlige er suboptimale designmønstre, der resulterer i ineffektiv, upålidelig eller ellers dårlig kode. Undersøg og unlearn alle de fælles anti-mønstre relateret til dit valg sprog.
8. Undersøg Master of Code
Hvis du vil skrive ren kode, er det bedste, du kan gøre, at se, hvilken ren kode ligner og forsøge at forstå, hvorfor det er den måde det er - og der er ingen bedre måde at gøre dette på end ved at studere kildefilerne i industrien mestre.
Selvfølgelig kan du ikke bare stikke ind i Microsofts hovedkvarter og kigge på deres projekter, men du kan altid gennemse kendte open source-projekter Sådan ses og redigeres kildekoden for en open source-app Sådan ses og redigeres kildekoden Af en open source-app Mens du går åben kilde 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 rene beløb ... Læs mere. Ved ikke hvor man skal starte? Prøv de udstillede projekter på Github.
"Enhver narre kan skrive kode, som en computer kan forstå. Gode programmører skriver kode, som mennesker kan forstå. "
- Martin Fowler, Refactoring: Forbedring af udformningen af eksisterende kode
Det er jo en af grundene til, at der findes åbne kildeprojekter Hvorfor bidrager folk til open source-projekter? Hvorfor bidrager folk til Open Source-projekter? Open source udvikling er fremtiden for software. Det er fantastisk for brugere, fordi open source-software er normalt tilgængelig gratis og ofte mere sikkert at bruge. Men hvad tvinger udviklere til at bidrage med kode gratis? Læs mere: så andre kan lære af dem. Og hvis du beslutter dig for at bidrage til et sådant projekt, kan det accelerere læringsprocessen 5 Projekt Idéer, der hjælper dig med at lære programmering hurtigere 5 projekt ideer til at hjælpe dig med at lære programmering hurtigere Der er nogle få måder at lette læringskurven til programmering. Få dine hænder beskidte og lær hurtigere med sideprojekter, du kan starte når som helst. Spil med disse fem. Læs mere .
Personligt set første gang jeg så rigtig ren kode, da jeg snuble over en bestemt hobbyists open source Python-projekt. Koden var så overvældende elegant, at jeg næsten stoppede programmering, men det endte med at lære mig meget.
9. Skriv gode kommentarer
"Skriv gode kommentarer" er det ældste råd i programmeringsverdenen. Faktisk, så snart nybegyndere er introduceret til kommentarer, er de ret opmuntret til at kommentere så ofte som de kan.
Men det føles næsten som om vi har svinget for langt i modsat retning. Newbies, især, har tendens til at overkommentere - beskriver ting, der ikke skal beskrives og mangler punktet for, hvad en "god kommentar" faktisk er.
"Kode altid som om den fyr, der ender med at opretholde din kode, vil være en voldsom psykopat, der ved, hvor du bor."
- John Woods
Her er en god tommelfingerregel: Der findes kommentarer til at forklare, hvorfor der findes et stykke kode i stedet for, hvad koden egentlig gør. Hvis koden er skrevet rent nok, skal det være selvforklarende hvad det gør - kommentaren skal belyse hensigten bag hvorfor den blev skrevet.
Kommentarer kan være gode til advarsler (dvs. "fjernelse af dette vil bryde A, B og C"), men skal for det meste afdække ting, der ikke umiddelbart kan hentes 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 kodingsprocessen. En tilbøjelighed til refactoring er den hurtigste måde at ende med uopnåelig kode, så på mange måder er det faktisk det vigtigste tip at overveje.
Kort sagt er refactoring kun et fancy udtryk for oprydning af koden uden at påvirke dens faktiske adfærd.
"Når jeg skal tænke for at forstå, hvad koden laver, spørger jeg mig selv, om jeg kan refactor koden for at gøre denne forståelse mere umiddelbart synlig."
- Martin Fowler, Refactoring: Forbedring af udformningen af eksisterende kode
En vis visdom, der har fast ved mig, siger: "Ikke kommentere dårlig kode. Omskriv det. "Som Fowler forklarer i citatet ovenfor, hvis kode nogensinde føles forvirrende nok til at du skal kommentere det, må du måske faktisk refactor det.
Desuden, når du redigerer bits kode her og der igennem hele dit projekt, skal du altid forlade koden i en bedre tilstand end når du først fandt den . Det kan virke som en gener i øjeblikket, men det vil betale sig i det lange løb (og kan endda afværge mental udbrænding. Programmering Burnout: Sådan genvinder du din tabte motivation Programmering Burnout: Sådan genvinder du din tabte motivation Skriver alle de linier af kode kan dræne fysisk og følelsesmæssigt. Alt du behøver for at komme op igen er bevidstheden om, at motivation kan genvinde. Læs mere).
Der er altid noget nyt at lære
En programmør der lærer at skrive ren kode er beslægtet med en romanforfatter, 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 det, der kræves, og til sidst ender med at afslutte programmeringen for godt. 6 Tegn på, at du ikke har tænkt dig at være en programmør. 6 Tegn på, at du ikke har tænkt dig at være en programmør Ikke alle er skåret ud til at være en programmør. Hvis du ikke er helt sikker på, at du er ment som programmør, er der nogle tegn, der kan vise dig i den rigtige retning. Læs mere - og det er fint, fordi der er masser af andre tekniske jobs, der ikke indebærer kodning. Koding er ikke for alle: 7 Tekniske job, du kan komme uden, kodning er ikke for alle: 7 tekniske job, du kan få uden det Må ikke modløses, hvis du vil være en del af teknologifeltet - der er masser af job til folk der ikke ved, hvordan man kode! Læs mere .
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 derhen.
Hvor vigtigt er ren kode til dig? Hvilke regler følger du for at holde din kode ren og organiseret? Fik nogen andre visdomsdele til at dele? Lad os vide i kommentarerne nedenfor!