Hjem Personlig finansiering Unngå bugs i ditt C ++-program - dummies

Unngå bugs i ditt C ++-program - dummies

Innholdsfortegnelse:

Video: Slik unngår du veggedyr: Tipsene du trenger 2025

Video: Slik unngår du veggedyr: Tipsene du trenger 2025
Anonim

Ikke start feilsøking av koden før du fjerner eller i det minste forstår alle advarslene som genereres under kompilering. Aktiverer alle advarselsmeldingene hvis du ignorerer dem, gjør du det ikke bra. Hvis du ikke forstår advarselen, ser du opp. Hva du ikke kjenner vil skade deg.

Vedta en klar og konsistent kodestil

Koding i en klar og konsekvent stil forbedrer ikke bare lesbarheten av programmet, men resulterer også i færre kodingsfeil. Husk, jo mindre hjernekraft du må bruke til å dechiffrere C ++-syntaks, desto mer har du igjen for å tenke på logikken til programmet ved hånden. En god kodestil gjør at du enkelt kan gjøre følgende:

  • Differensiere klassenavn, objektsnavn og funksjonsnavn
  • Vet noe om objektet basert på navnet sitt
  • Differensiere preprosessorsymboler fra C ++-symboler (det vil si #definerte objekter skal skille seg ut)
  • Identifiser blokker av C ++-kode på samme nivå (dette er resultatet av konsistent innrykk)

I tillegg må du opprette en standard modul header som gir informasjon om funksjonene eller klassene i modulen, forfatteren (antagelig, det er du), datoen, versjonen av kompilatoren du bruker, og en modifikasjonshistorikk.

Til slutt bør alle programmerere involvert i et enkelt prosjekt bruke samme stil. Å forsøke å dechiffrere et program med et lappeteppe av forskjellige kodingsstiler, er forvirrende.

Kommenter koden din mens du skriver den.

Du kan unngå feil hvis du kommenterer koden din mens du skriver den i stedet for å vente til alt fungerer, og deretter gå tilbake og legg til kommentarer. Ikke å ta seg tid til å skrive voluminøse overskrifter og funksjonsbeskrivelser til senere, er forståelig, men du har alltid tid til å legge til korte kommentarer mens du skriver koden.

Korte kommentarer bør være opplysende. Hvis de ikke er det, er de ikke verdt mye, og du bør gjøre noe annet i stedet. Du trenger all den opplysning du kan få når du prøver å gjøre programarbeidet ditt. Når du ser på et stykke kode du skrev for noen dager siden, kan kommentarer som er korte, beskrivende og til et punkt gi et dramatisk bidrag til å hjelpe deg med å finne ut nøyaktig hva det var du prøvde å gjøre.

I tillegg gjør konsekvent kodeinntrykk og navngivningskonvensjoner koden enklere å forstå. Det er veldig bra når koden er lett å lese etter at du er ferdig med det, men det er like viktig at koden er lett å lese mens du skriver den. Det er da du trenger hjelpen.

Enkelt trinn hver vei minst én gang

Som programmerer er det viktig for deg å forstå hva programmet ditt gjør. Ingenting gir deg en bedre følelse av hva som foregår under hetten enn å sette opp programmet med en god debugger. (Debuggerne som inngår i IDE for interaktive kompilatorer fungerer bare bra.)

Utover det, trenger du noen ganger råmateriale til å finne ut noen bizarre oppførsel når du skriver et program. Ingenting gir deg det materialet bedre enn enkle nye funksjoner når de kommer i bruk.

Til slutt, når en funksjon er ferdig og klar til å bli lagt til programmet, må hver logisk bane reist minst en gang. Bugs er mye lettere å finne når funksjonen blir undersøkt av seg selv, snarere enn etter at den er blitt kastet i potten med resten av funksjonene - og din oppmerksomhet har gått på nye programmeringsutfordringer.

Unngå overbelastning av operatører

Annet enn å bruke operatørens operatør << () og operatør >> () og operatøroperatøren operatør = () , bør du sannsynligvis holde av overbelaste operatører til du føler deg komfortabel med C ++. Selv om et godt sett med overbelastede operatører kan øke nytten og lesbarheten til en ny klasse, er overbelastningsoperatører (unntatt de tre som nettopp er oppført) nesten aldri nødvendig, og kan legge til betydelig for debugging woes som ny programmerer. Du kan få samme effekt ved å definere og bruke de riktige offentlige medlemsfunksjonene i stedet.

Etter at du har vært C-Plus-Plussing i noen måneder, vær så snill å returnere og begynne å overbelaste operatørene til ditt hjertes innhold.

Balance heap handling

Generelt bør programmører allokere og frigjøre heapminne på samme nivå. "Hvis en medlemsfunksjon MyClass:: create () tildeler en blokk med heapminne og returnerer den til den som ringer, så skal det være en medlemsfunksjon MyClass:: release () at returnerer minnet til bunken. Spesielt, MyClass:: create () burde ikke kreve at foreldrefunksjonen frigjør selve minnet. Dette unngår absolutt ikke alle minneproblemer - foreldrefunksjonen kan glemme å ringe MyClass:: release () - men det reduserer muligheten litt.

Bruk unntak for å håndtere feil

Unntaksmekanismen i C ++ er utviklet for å håndtere feil på en hensiktsmessig og effektiv måte. Nå som denne funksjonen har blitt standardisert, bør du bruke den. Den resulterende koden er lettere å skrive, lettere å lese og lettere å vedlikeholde. Dessuten har andre programmerere kommet til å forvente det - du vil ikke skuffe dem, ville du?

Unngå flere arv

Flere arv, som operatøroverbelastning, legger til et annet nivå av kompleksitet som du ikke trenger å håndtere når du nettopp har startet. Heldigvis kan de fleste virkelige relasjoner beskrives med enkelt arv.

Du er velkommen til å bruke flere arvelige klasser fra kommersielle biblioteker, for eksempel Microsoft MFC-klassene.Microsoft har brukt mye tid på å sette opp sine klasser, og det vet hva det gjør.

Når du føler deg komfortabel med ditt forståelsesnivå for C ++, kan du eksperimentere med å sette opp flere arvshierarkier. På den måten vil du være klar hvis du trenger det.

Unngå bugs i ditt C ++-program - dummies

Redaktørens valg

Hvordan lage Baseball Practice Fun - Dummies

Hvordan lage Baseball Practice Fun - Dummies

Som baseball trener må du ikke bare lære laget ditt grunnleggende i spillet, må du lære disse grunnleggende morsomme, slik at spillerne blir interessert og engasjert. Bruk tipsene i følgende liste for å gjøre baseballøvelsen morsom: Sørg for mange repetisjoner for hvert barn. Stopp treningen kort ...

Basisspillers ansvar i Baseball - dummies

Basisspillers ansvar i Baseball - dummies

Baseball trener er ikke bare ansvarlige for lagspillet som en hel, men for coaching spillere når de når første og tredje base i løpet av et baseballspill. Ansvaret for å coaching hver base er forskjellig. Hva en første basissjåfør gjør: Oppfordrer smeten til å kaste ned første baseline på infield hits. ...

Hvordan fantasy baseball ligaene blir scoret - dummies

Hvordan fantasy baseball ligaene blir scoret - dummies

Fantasy baseball har tre hovedspillformater som bestemmer hvordan ligaen din score punkter. Spillformatene for fantasybaseball er Rotisserie, Head-to-Head One Win og Point System. Hvert format blir scoret avhengig av ligaoppsettet. For eksempel vil 5 × 5 liga score poeng eller gevinster / tap på fem forhåndsvalgte treffstatistikk, samt fem ...

Redaktørens valg

Praktiserer dag til dag, uformell oppmerksomhet - dummies

Praktiserer dag til dag, uformell oppmerksomhet - dummies

Kan trene det når som helst. Uformell oppmerksomhet meditasjon er når du trener oppmerksomhet uten å skille ut en spesiell tid for det. Her er ti eksempler på uformell oppmerksomhet: Mindful kommunikasjon - Når du snakker eller hører på noen andre, blir du klar over lyden av ...

Forbli lekfull og lyshjerte når du praktiserer Mindfulness - dummies

Forbli lekfull og lyshjerte når du praktiserer Mindfulness - dummies

En nydelig holdning til å ha oppmerksomhet og Livet generelt er lekenhet og lethed. Hvis en meditasjon ikke virker for deg første gang eller ikke føles riktig for deg, ikke vær panikk, men tenk på opplevelsen som et eksperiment som du kan prøve igjen senere. Tilnærming oppmerksomhet som du ville et nytt spill eller ...

Redaktørens valg

Valg av resolusjonsstørrelse på et Canon EOS Rebel T3-serie kamera - dummies

Valg av resolusjonsstørrelse på et Canon EOS Rebel T3-serie kamera - dummies

For å bestemme seg for en Kvalitetsinnstilling (eller bildeoppløsningstørrelse) for Canon Rebel T3 eller T3i, den første avgjørelsen du må gjøre er hvor mange piksler du vil at bildet skal inneholde. Piksler er de små firkantede fliser hvorfra alle digitale bilder er laget; piksel er kort for bildeelement. Hvis din ...

Hvordan du lager videobilder på Rebel T7i / 800D - dummies

Hvordan du lager videobilder på Rebel T7i / 800D - dummies

Videoopplastingsfunksjonen på Canon EOS Rebel T7i / 800D fanger korte videoklipp som er sydd i et enkelt opptak, kalt et videoalbum. Du kan stille klippelengden til 8, 4 eller 2 sekunder lang (men alle klippene i et album må ha samme lengde). Med tanke på individets korthet ...