Bli en bedre coder ved å holde en programmeringsjournal
Kampen om å bli en bedre programmør er ekte. Jeg har programmert siden jeg var 13, men likevel finner det både utfordrende og givende. Det er ingenting helt som det. Men det kan til tider være overveldende, noe som fører til at noen mennesker gir opp og slutter.
For å bli en bedre koder må du være forsettlig - i hvordan du leser og skriver kode, hvordan du studerer nye konsepter, og selv i måten du tar pauser og oppdaterer tankene dine. Intention er nøkkelen til fremgang.
Vi har allerede vist deg hvordan meditasjon kan gjøre deg til en bedre koder. Nå kan du sparke det opp et hakk ved holder en programmeringsjournal også. I dette innlegget lærer du hva det er, hvorfor det er nyttig, og hvordan du kan komme i gang med en gang.
Fordelene ved journalisering
I lang tid tenkte jeg på journaling som en aktivitet som var reservert for forferdelige og anti-sosiale tenåringer - men det er helt feil. Ingenting mer enn en utdatert stereotype. Faktisk er journaling virkelig nyttig uansett hvor gammel du er eller hva du gjør.
Det hjelper deg å formulere tankene dine.
Hvis du er som meg, har du sannsynligvis det “tenke igjennom” dine kodingsproblemer. Prøver å implementere en algoritme? Du kjører hvert trinn gjennom tankene dine. Trenger du å designe en ny klasse? Du sitter foran en tom klassefil, og tenker på hvilke variabler og metoder det vil trenge. Ting som det.
Og det er greit for små ting, men kan være uhåndterlig - selv mot produktiv - når du må takle noe mer avansert og / eller komplekst.
Det er da en journal kommer til nytte. Det gir deg et sted å arbeide gjennom dine tanker (for eksempel algoritmtrinn, designprosess eller hva som helst annet) på en konkret måte. Du kan se alt før deg. Ikke bare gjør det deg mindre utsatt for feil, men det vil bidra til å styrke disse konseptene i tankene dine.
Det kan gjøre deg mer produktiv.
Den ovennevnte prosessen med “losser dine tanker” er viktigere enn du kanskje skjønner. Som det viser seg, kan den enkle handlingen med å skrive ned en oppgave / problem / tanke frigjøre tankene dine og forbedre konsentrasjonen.
Hvis du for eksempel sletter detaljene til den nylig utformede algoritmen i journalen din, kan du fokusere på andre oppgaver uten å kaste bort “hjernen CPU sykluser” på å holde disse detaljene på baksiden av tankene dine.
En journal styrker deg også å senke og tenke. Det er fristende å skynde seg i en implementering, og noen ganger fungerer det bra, men du vil bli bedre hvis du tenker gjennom hele løsningen før du skriver enda en linje med kode. En times planlegging kan forhindre mange timers feilsøking!
Det kan forbedre fysisk helse og mental skarphet.
Selv om det ikke er nødvendig, anbefaler jeg at du journaler for hånd. Gå av datamaskinen, knekk åpne en lommebok, og skriv med en penn som føles bra i hånden og på siden.
Det lar deg ta en pause fra å stirre på en skjerm hele dagen, noe som kan forårsake problemer som dårlig holdning og tretthet i øyet. Det gir deg også en grunn til å stå opp og gå litt rundt, noe som har reelle fordeler for hjernen din.
Men det er ikke alt - det er noe spesielt med fysisk håndskrift som aktiverer en annen del av hjernen din, noe som resulterer i større kreativitet, bedre problemløsning og bedre oppbevaring av ideer.
Den registrerer en historie om fremdrift og utvikling.
Dette kan være den største fordelen med journaling, spesielt for nye kodere. Den vanskeligste delen om å være nybegynner, er å være blind for dine egne fremskritt og føler at du ikke går fremover. Men hver journaloppføring representerer en diskret prestasjon. Det føles bra, og det er uvurderlig når man lærer.
Det er også nyttig for å være motivert på langsiktige prosjekter fordi journalen fungerer som en objektiv påminnelse om hvor langt du har kommet. Når du føler at du ikke gjør fremgang, forteller journalen deg at du har - og det kan være et godt motiverende løft.
Til slutt kan en journal være fysisk bevis når du går inn i patent- eller opphavsrettsproblemer, men bare hvis du daterer og skriver inn oppføringene. Dette vil nok ikke være mye av et problem med mindre du jobber med store prosjekter med millioner på linjen, skjønt.
Hva å skrive i en programmeringsjournal
La oss si at du er overbevist. Du vil starte. Men hvordan? Igjen, jeg anbefaler en penn-og-papir-tilnærming (for eksempel med en Moleskine-notatbok), men hvis det ikke er et alternativ, anbefaler jeg at du bruker en Markdown-editor som Haroopad, MacDown eller Typora. Eller du kan gå med noe mer tradisjonelt som OneNote eller Evernote.
Når du har det som er satt opp, er det på tide å begynne å skrive.
Dato og signatur. Oppgi alltid oppføringene dine for ettertiden. Hvis notatblokken din kan gjøre det automatisk, enda bedre.
Problemer oppstått. Når du kjører inn i en unnvikende feil eller en konseptuelt hard algoritme, skriv om det. Start med en beskrivelse, når det ser ut til å forekomme, og en liste over mulige årsaker. Hvis du kan gjengi det, inkludere disse trinnene. Noen ganger kan handlingen om å skrive disse tingene føre deg til en løsning.
Løsninger utforsket. Når du prøver å løse problemene ovenfor, må du registrere dine forsøk på å fikse dem. Hvis løsningen fungerer, flott! Hvis det ikke gjør det, registrer hvorfor det mislyktes. Hvis en løsning er suboptimal, merk av manglene, slik at du kan iterere senere.
Denne metodiske tilnærmingen til bugfixering er ekstremt nyttig, spesielt når du først starter og føler deg overveldet av en feil eller algoritme. Hvordan lære programmering uten all stress. Hvordan lære programmering uten all stress. Kanskje du har bestemt deg for å forfølge programmering, enten for en karriere eller bare som en hobby. Flott! Men kanskje du begynner å føle deg overveldet. Ikke så bra. Her er hjelp til å lette reisen din. Les mer - men veteraner kan også dra nytte av dette.
Registrer suksessene dine. Hold en egen liste over hver seier underveis, kanskje på baksiden av notisboken. Har den algoritmen endelig klikket? Eller kanskje din femdagers søken etter en feil endelig betalt? Skriv de som vinner! Senere, når du føler deg dum eller uproduktiv, kan du henvise tilbake og se alle de tingene du har oppnådd.
Det er en enkel ting, men kan ha store resultater. Jeg har personlig funnet det effektivt å beseire programmering av utbrenning. Programmering Burnout: Hvordan gjenvinne du din tapte motivasjon. Programmering Burnout: Hvordan gjenvinne din tapte motivasjon. Skrive alle disse kodelinjene kan drenere fysisk og følelsesmessig. Alt du trenger for å komme seg opp er bevisstheten om at motivasjon kan gjenvinnes. Les mer . Og som din “Hall of Successes” vokser lengre, blir det kraftigere som en påminnelse om dine ferdigheter og fremgang.
Ting å besøke senere. En bug-tracker kan være bedre for å spore todos og bugs (duh), men en journal kan være bra for å jotte ned konsepter, algoritmer, spørsmål, emner og andre “tingene” at du ikke kan se på akkurat nå, men vil undersøke senere.
Ambisjoner og mål. Dette er ikke så mye om programmering som det handler om fremtiden som programmerer. Hvor vil du til slutt ende opp? Hvordan tok dagens økt eller årets prosjekt deg mot det målet? Eller satte du deg tilbake? Disse typer oppføringer kan være flotte for å re-sentrere deg selv og din retning.
Lærdomene. Etter hver økt kan det være hyggelig å samle alt du gjorde og tenke på hva du lærte. På samme måte bør du tenke på å gjenvinne alle viktige milepæler på ditt nåværende prosjekt og leksjonene du har lært. Dette er grunnen til at utviklere gjør post mortem - ved å artikulere erfaringer, er det mer sannsynlig å huske dem fremover.
Vil du starte en programmeringsjournal?
Skjønnheten i en programmeringsjournal er at det kan være så enkelt eller så involvert som du vil at det skal være. Enten du bruker 30 minutter om dagen eller 10 minutter i uken, vil det vise seg å være nyttig - men selvfølgelig kommer du bare ut av det du legger inn i det.
Lyder dette som noe du vil ha nytte av? Vil du foretrekke penn-og-papir eller en notetaking app? Har du noen andre tips som har styrket programmeringen din? Del med oss i en kommentar nedenfor!
Utforsk mer om: Motivasjon, programmering.