8 enkle tricks til at øge kodningseffektiviteten

Hvis du abonnerer på en tjeneste fra et link på denne side, kan Reeves and Sons Limited optjene en kommission. Se vores etikerklæring.

Der er et mærkeligt fænomen, der er opstået blandt softwareudgivere. Der ser ud til at være en tendens til, at folk vender deres forståelse af, hvad der gør et kvalitetsprodukt bedre, eller det er i det mindste sandt, når det kommer til dem, der laver markedsføringen. Det går noget i retning af: "Deres produkt har en million linjer kode, men vores har to millioner, så derfor skal vores produkt være bedre."

Ingen ved, hvor denne "mere er mere"-tankegang kom fra, da alle dengang arbejdede så hårdt for at skabe en "mindre er mere"-filosofi. Sandsynligvis startede det med journalistik i forbrugerkvalitet, fordi mange forfattere forsøger at imponere publikum ved at citere store tal. For de fleste ting virker dette – dette lille flashdrev rummer 200 terabyte data, den CPU kan behandle 48 milliarder instruktioner i sekundet – og forfattere er ikke altid teknologisk kyndige nok til at forstå, at det samme ikke gælder for kildekoden.

Men effektivitet i kodning handler ikke kun om at skabe stramme algoritmer. Det handler også om at kunne reducere spild. Det betyder spild i forhold til, hvor meget tid du bruger på at løse problemer, spild i forhold til at forbruge for mange computerressourcer og endda spild i forhold til, hvor mange pizzaæsker dit team har stablet rundt på kontoret ved udgangen af ​​ugen. Ideelt set vil du skære ned på alle disse ting.

Så det, vi vil tage et kig på i denne artikel, vil være de ting, du kan gøre for at forbedre effektiviteten og øge produktiviteten.

1. Byg et fremmende arbejdsmiljø

Hver koder fungerer under unikke omstændigheder, og vores læsere er en meget forskelligartet bunke, så det vil være lettere for nogle af jer at implementere disse forslag end for andre.

Hvis du er freelancer, tillykke, for du er allerede herre over dit eget arbejdsmiljø. Det vil selvfølgelig ændre sig, når du besøger en kunde og skal arbejde på stedet, men det er stadig en sød position at være i, hvis du kan få succes med det.

Hvis du er leder af et udviklingsteam, kan disse forslag også hjælpe med at få dit team til at opnå maksimal effektivitet. Eller hvis du er medarbejder på et udviklingsteam, vil du måske foreslå nogle af disse ideer til din leder eller i det mindste sende ham eller hende et link til denne side og håbe på det bedste.

Overvej at give teammedlemmer mulighed for at kommunikere

Programmering er til dels en øvelse i logik, men det er endnu mere en kreativ udfordring. De bedste programmører kan bruge begge sider af deres hjerne lige meget til enhver opgave. Videnskaben har længe erkendt, at kreative mennesker gør deres bedste arbejde om natten, og det er noget, vi alle har oplevet. Så hvorfor insisterer de fleste ledere på en traditionel 9 til 5 rutine?

Faktisk kender vi allerede svaret på det. Det handler dels om kontrol, og dels om at gøre tingene mere bekvemme fra et forretningsmæssigt synspunkt (eller i det mindste et ledelsesmæssigt). Men denne insisteren på rutine og placering skader holdets effektivitet og produktivitet.

Det, du skal indse, er, at dine kodere sandsynligvis var oppe hele natten og prøvede det nyeste spil, eller måske gik de til fest eller var simpelthen nødt til at socialisere med familien. Det betyder, at når de møder på arbejde mandag morgen, får du dem ikke kun på deres højeste produktivitetsniveau, men de er allerede drænet for energi og hundetrætte.

At give medarbejderne et valg om, hvornår de arbejder – og ideelt set også hvor – er en glimrende måde at forbedre produktiviteten og moralen på. Så længe de får arbejdet gjort og giver fremragende kvalitetsresultater, bør du være ligeglad med hvornår, hvor eller hvordan de opnår det.

Undtagelsen er, når du har brug for tæt samarbejde, men i sandhed klarer de fleste kodere det bedre, når de bliver overladt til at gøre tingene på deres egen måde, og behovet for tæt samarbejde er sjældent. Muligheden for at komme ind på kontoret burde stadig være der, men der er ingen realistisk grund til, at det skulle være påkrævet, medmindre du arbejder på tophemmelige militærprojekter.

Som freelancer kan du også se, at nøglepunktet her er, at hvis du udfører det meste af dit egentlige kodningsarbejde om natten, vil du sandsynligvis få mere fra hånden. Der er færre distraktioner sent om aftenen, det er mere stille, og du vil føle dig mere kreativ.

Undgå musik

Vi har alle set de skøre filmstereotyper, hvor nogle supergrungy überhacker tager deres hovedtelefoner på og jammer med til death-metal, mens de ubesværet kværner skærmfulde kode ud uden selv at stoppe op for at trække vejret. Og alle os, der virkelig koder i den virkelige verden, ved, hvor latterligt det billede er.

Men hvis du lytter til musik, mens du arbejder, skal du være forsigtig. Det er ret nemt at finde på at tænke på musikken i stedet for dit arbejde, og nogle slags musik kan have en soporisk effekt. Når du træner i fitnesscentret, kan den rigtige slags musik inspirere dig til at skubbe de ekstra par gentagelser ud. Men ingen har nogensinde formået at skabe musik, der vil inspirere dig til at finde linjen med det manglende semikolon, eller til at træffe det rigtige valg mellem at bruge en for loop eller en while loop. Det tætteste vi nogensinde er kommet på det er Electric Dreams.

Forsøg at holde ryddig

Rod kan være mærkeligt trøstende, men det kan også bremse dig. Du kan nemt miste 20 minutter på at lede efter noget, der er gået tabt i rodet, og så glemme, hvorfor du ville have det i første omgang.

Så på trods af al den ulejlighed, det medfører, hvorfor er vi – i det mindste nogle af os – så afhængige af rod? Organisationsekspert og forfatter, Julie Morgenstern, hævder, at det er, fordi dette stof forbinder os med vores fortid og spiller en rolle i at definere vores identitet. Marcus Geduld, en lærer og instruktør baseret i New York City, foreslår, at det er, fordi rod er at foretrække frem for et "sterilt" miljø, og sammenligner kaos af rod med en affirmfrihed og kreativitet.

Der er dog ingen tvivl om, at reduktion af rod vil hjælpe dig med at undgå distraktion og uorganisering. Som sådan er det et værdigt mål at nå. Hold i hvert fald et par hellige genstande omkring dig, som får dig til at føle dig bedre og mindre stresset, men overdriv det ikke. At rydde op er en af ​​de sværeste ting at gøre for de fleste mennesker, og det er ikke kun vores fysiske desktops, der skal rydde op, men ofte vores computer desktops også. Hvis du virkelig kæmper med det, kan du prøve at bruge en minimalistisk DTE såsom Fluxbox, som ikke rigtig tillader dig at have noget rod.

Men midt i al denne oprydning, gå ikke overbord. Der er masser af god videnskab, der tyder på, at lidt kaos i miljøet faktisk kan være befordrende for kreativitet. En af de hyppigst citerede undersøgelser af dette er et tidsskriftsindlæg i Psychological Science af Vohs, Redden & Rahinel for University of Minnesota med titlen Fysisk orden producerer sunde valg, generøsitet og konventionelitet, hvorimod lidelse producerer kreativitet. Sandsynligvis årsagen til, at dette er papirjournalisterne, der holder fast ved, er, at det klart konkluderer, at: "... deltagere i et uordnet rum var mere kreative end deltagere i et velordnet rum."

Meget mindre populære er uenige synspunkter, som f.eks Miljøforstyrrelse fører til selvregulerende svigt (Chaye & Zhu, 2014), offentliggjort i Journal of Consumer Research. Denne undersøgelse fandt, at mennesker, der arbejdede i uordnede miljøer, var nedsat i deres evne til at udføre opgaver.

Så hvor efterlader dette dig? Skal du arbejde i kaos eller sterilitet? Svaret ser ud til at være at finde en balance, hvor det er lige kaotisk nok til at holde dig inspireret, men ikke så meget, at du bliver distraheret eller har svært ved at finde ting.

Efterlad nogle plads bag dig for at stimulere dine tanker

Det er en god idé at have masser af plads til at vandre rundt, når du overvejer. Mange af de bedste admiraler og generaler i historien var kendt for den lange tid, de brugte på at gå rundt på dækket, mens de planlagde kampstrategier.

Ikke kun kampmænd følger denne praksis. Mange buddhistiske munke går også ind for "vandrende meditation" og mener, det hjælper med at fremme klarhed i sindet. Når du har et særligt knudet programmeringsproblem at løse, kan det være, at det hjælper med at strække dine ben lidt med en meditativ tur rundt på dækket. Åbenlyst her vil mangel på rod hjælpe dig med at gøre dette uden at havne på hospitalet.

Tag som en chef en forsigtig tilgang til kritik af kreative anstrengelser

Der er ikke noget galt med konstruktiv kritik, men du skal vælge det rigtige øjeblik og gribe det an på den rigtige måde, ellers kan det give bagslag ved at gøre dine medarbejdere mindre produktive i fremtiden. I stedet for at inspirere dem og give indsigt, kan du faktisk gøre dem bange for at tage risici, hvilket er en god måde at slå kreativiteten ihjel. Marieke Roskes, i Begrænsninger, der hjælper eller hindrer kreativ ydeevne: En motiverende tilgang, giver en ramme for, hvordan man håndterer motivation hos kreative medarbejdere, og specifikt også, hvordan man undgår utilsigtet demotivering af dem (Creativity & Innovation Management, Vol 24, Iss 2, 2015).

2. Opret en god SOP

Der er mange iørefaldende tendenser inden for virksomhedsledelse og programmeringsprocedurer, der lyder meget mere fornuftige i teorien, end de viser sig at være i praksis. Om en bestemt tilgang virker for dig eller ej afhænger af dit mål, og hvad du personligt anser for at være et vellykket resultat.

Et eksempel på en metode, som et firma, jeg arbejdede for, prøvede - og lige så hurtigt faldt - er parprogrammering (ikke at forveksle med PEAR-programmering). Mens nogle mennesker virkelig beundrer denne arbejdsmetodologi og roser sin plads i det agile udviklingsparadigme, fandt vi, at det var forfærdeligt ineffektivt. Til at starte med krævede det to programmerere til hver arbejdsstation, så du betalte dobbelt så meget for mindre faktisk udviklingsarbejde. Vi fandt også, at det var meget langsommere at arbejde på denne måde på grund af den hyppige stop / start-strøm og tendensen til unødvendig dialog.

Fordelene ved parprogrammering var, at det resulterede i mere naturlig dokumentation og strengere dokumentation. Det gjorde det også nemmere at opdage fejl og give forslag til at stramme op på en algoritme. Samtidig skabte de samme fordele også problemer, fordi nogle gange var justeringer og justeringer ikke rigtig nødvendige.

En anden risiko ved denne tilgang er, at du kan få effekten identificeret af Roskes, hvor programmører kan være tøvende med at prøve ting, fordi de ikke ønsker at blive rettet. Du kan opleve personlighedssammenstød, hvor den ene udvikler er meget pedantisk og traditionel, men den anden er mere kreativ og spontan.

Programmører angiver ofte, at de foretrækker parprogrammering. Det er muligt, at det skyldes, at de nyder den sociale interaktion, det giver, men dette bidrager intet til effektiviteten af ​​produktionen, undtagen måske som en moralsk booster.

Så det, du skal fastslå, er, hvad der rent faktisk virker for dine udviklere, og hvad der ikke gør. For de ting, der ikke virker, er det bedre at kassere dem, selvom de er en meget populær praksis. Uanset hvad der hjælper holdet til at gøre fremskridt hurtigt, er det en god ting. Men hvis de bliver tynget af en metode, der ikke passer til deres stil, vil det i sidste ende føre til problemer.

3. Tilskynde til ordentlig dokumentation

Selvom det kan se ud til, at verbositet vil øge ineffektiviteten, kan det lille tidsrum, det tager at give mere detaljering og præcision i kommentarer, spare en masse problemer, når projektet ruller videre eller gennemgår revisioner.

4. Undgå unødvendig dokumentation

Velskrevet kode er ofte selvdokumenterende. Hvis det er helt indlysende, hvad en funktion gør ud fra det navn, du giver den (hvilket næsten altid burde være tilfældet), så er det overflødigt at tilføje mere beskrivelse. Det samme gælder for variabel navngivning og returværdier. Det skal fremgå af navnet, hvad de laver, og i de tilfælde, hvor det ikke er muligt, bør du medtage en beskrivelse af dem i kommentarerne.

5. Det hvide rum er din ven

Brug af hvid plads passende i din kode er værdifuld til at hjælpe med at gøre koden lettere at læse, gennemgå og forstå. Det går hånd i hånd med god dokumentation og skrivning af selvdokumenterende kode. Det burde være muligt for enhver erfaren programmør - eller måske endda en ikke-programmerer - at hente en kopi af din kildekode og øjeblikkeligt forstå, hvad formålet med hver funktion er, og hvordan den fungerer. Ideelt set skal nogen være i stand til at lære at programmere fra intet andet end at studere din velskrevne kode.

6. Foretrækk enkelhed frem for kompleksitet

Jo mere kompleks du laver din kode, desto vanskeligere kan det være at fjerne den. Ironisk nok gælder dette for programmering af genveje, som at bruge korthårskonditioner i stedet for at udskrive dem fuldt ud. Det sparer tid i skrivningen, men en mindre erfaren programmør, der kommer til at gennemgå din kode senere, forstår muligvis ikke dine intentioner.

7. Test udtømmende

Kode skal testes trinvist og ofte. Inden du implementerer noget, skal du gennemføre så meget intern test som muligt, selvom din første udgivelse vil blive betegnet Alpha.

8. Brug versionskontrol

Du skal være skør for ikke at bruge versionskontrol på et større projekt. Uden det er du ikke beskyttet mod dine egne mindre fejl, og det er også virkelig nemt for et andet teammedlem ved et uheld (eller med vilje) at sabotere din kode ved at overskrive den med noget, der ikke behager dig.

Ved at tage disse otte nøgleforslag i betragtning, vil du være i stand til at udvikle din egen strategi for at udtrække mest mulig effektivitet for dig og alle teammedlemmer, du arbejder med. Du behøver ikke nødvendigvis at anvende dem alle, og nogle er sikkert ikke engang praktiske for dig, men enhver kombination af dem vil sandsynligvis resultere i, at du får dit arbejde gjort med mindre besvær. En mere produktiv arbejdsgang vil betale sig over tid, selvom det blot er i form af stressreduktion og giver dig mere tid til dig selv. Det er et mål, der er værd at arbejde hen imod.

Bogdan Rancea

Bogdan er et grundlæggende medlem af Inspired Mag og har akkumuleret næsten 6 års erfaring i denne periode. På fritiden kan han lide at studere klassisk musik og udforske billedkunst. Han er også ganske besat af fixies. Han ejer allerede 5.

Kommentarer 0 Responses

Giv en kommentar

Din e-mail adresse vil ikke blive offentliggjort. Krævede felter er markeret *

Rating *

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.