Huis Persoonlijke financiën Vermijd bugs in uw C ++ -programma - dummies

Vermijd bugs in uw C ++ -programma - dummies

Inhoudsopgave:

Video: Baldi’s Basics Song- Basics in Behavior [Blue]- The Living Tombstone feat. OR3O 2024

Video: Baldi’s Basics Song- Basics in Behavior [Blue]- The Living Tombstone feat. OR3O 2024
Anonim

Start niet met het debuggen van uw code totdat u alle waarschuwingen die tijdens de compilatie zijn gegenereerd, verwijdert of tenminste begrijpt. Als u alle waarschuwingsberichten inschakelt als u ze negeert, doet u niets. Als u de waarschuwing niet begrijpt, zoek deze dan op. Wat u niet weet doet pijn.

Adopteer een duidelijke en consistente coderingsstijl

Codering in een duidelijke en consistente stijl verbetert niet alleen de leesbaarheid van het programma, maar resulteert ook in minder coderingsfouten. Bedenk dat hoe minder hersencapaciteit je nodig hebt om de C ++ syntaxis te ontcijferen, des te meer je over hebt om na te denken over de logica van het programma. Met een goede codeerstijl kunt u het volgende gemakkelijk doen:

  • Onderscheid klassennamen, objectnamen en functienamen
  • Weet iets over het object op basis van de naam
  • Onderscheid preprocessorsymbolen van C ++ -symbolen (dat wil zeggen # gedefinieerde objecten moeten opvallen)
  • Identificeer blokken van C ++ code op hetzelfde niveau (dit is het resultaat van consistente inspringing)

Daarnaast moet u een standaardmoduleheader opstellen die informatie geeft over de functies of klassen in de module, de auteur (vermoedelijk, dat ben je), de datum, de versie van de compiler die je gebruikt en een wijzigingsgeschiedenis.

Uiteindelijk moeten alle programmeurs die bij een enkel project betrokken zijn dezelfde stijl gebruiken. Proberen om een ​​programma te ontcijferen met een lappendeken van verschillende coderingsstijlen is verwarrend.

Reageer op uw code terwijl u deze schrijft

U kunt fouten voorkomen als u uw code tijdens het schrijven opneemt in plaats van te wachten tot alles werkt en vervolgens teruggaat en opmerkingen toevoegt. Niet de tijd nemen om omvangrijke headers en functiebeschrijvingen te schrijven tot later is begrijpelijk, maar je hebt altijd tijd om korte opmerkingen toe te voegen tijdens het schrijven van de code.

Korte opmerkingen moeten verhelderend zijn. Als ze dat niet zijn, zijn ze niet veel waard en zou je in plaats daarvan iets anders moeten doen. Je hebt alle verlichting nodig die je kunt krijgen terwijl je probeert je programma te laten werken. Wanneer je naar een stukje code kijkt dat je een paar dagen geleden hebt geschreven, kunnen opmerkingen die kort, beschrijvend en to the point zijn, een dramatische bijdrage leveren om je te helpen erachter te komen wat je precies probeerde te doen.

Bovendien zorgen consistente code-inspringen en naamgevingsconventies ervoor dat de code beter te begrijpen is. Het is allemaal erg leuk als de code gemakkelijk te lezen is nadat je ermee klaar bent, maar het is net zo belangrijk dat de code gemakkelijk te lezen is terwijl je hem schrijft. Dat is wanneer je de hulp nodig hebt.

Eén stap elk pad minstens één keer

Als programmeur is het belangrijk dat u begrijpt wat uw programma aan het doen is. Niets geeft je een beter gevoel voor wat er zich onder de motorkap afspeelt dan het single-steppen van het programma met een goede debugger. (De foutopsporingsprogramma's die zijn opgenomen in de IDE van interactieve compilers werken prima.)

Bovendien hebt u tijdens het schrijven van een programma soms grondstof nodig om een ​​of ander bizar gedrag te achterhalen. Niets geeft u dat materiaal beter dan eenmalig nieuwe functies wanneer ze in gebruik worden genomen.

Tot slot, wanneer een functie is voltooid en gereed is om aan het programma te worden toegevoegd, moet elk logisch pad ten minste één keer worden afgelegd. Bugs zijn veel gemakkelijker te vinden wanneer de functie zelf wordt onderzocht in plaats van nadat deze met de rest van de functies in de pot is geworpen - en uw aandacht is uitgegaan naar nieuwe programmeeruitdagingen.

Vermijd overbelasting van operators

Anders dan het gebruik van de twee stream-I / O-operators operator << () en operator >> () en de operator van de toewijzingsoperator = () , moet u waarschijnlijk overbelastingsoperators afhouden totdat u zich comfortabel voelt met C ++. Hoewel een goede set van overbelaste operators het nut en de leesbaarheid van een nieuwe klasse kan vergroten, is het overbelasten van operatoren (anders dan de drie die zojuist zijn genoemd) bijna nooit nodig en kan het als nieuwe programmeur aanzienlijk bijdragen aan uw foutopsporing. U kunt hetzelfde effect krijgen door in plaats daarvan de juiste openbare lidfuncties te definiëren en te gebruiken.

Nadat u een aantal maanden C-Plus-plussing hebt gehad, kunt u terugkeren naar en naar hartenlust overladen met operators.

Verwerking van balanshopen

Over het algemeen moeten programmeurs heap-geheugen op hetzelfde "niveau toewijzen en vrijgeven. "Als een lidfunctie MyClass:: create () een blok heap-geheugen toewijst en terugstuurt naar de beller, dan moet er een lidfunctie zijn MyClass:: release () die retourneert het geheugen naar de heap. In het bijzonder zou MyClass:: create () niet vereisen dat de parent-functie het geheugen zelf vrijgeeft. Dit voorkomt zeker niet alle geheugenproblemen - de hoofdfunctie kan vergeten te bellen naar MyClass:: release () - maar het verkleint de mogelijkheid enigszins.

Gebruik uitzonderingen om fouten af ​​te handelen

Het uitzonderingsmechanisme in C ++ is ontworpen om fouten gemakkelijk en efficiënt af te handelen. Nu deze functie is gestandaardiseerd, moet u deze gebruiken. De resulterende code is gemakkelijker te schrijven, gemakkelijker te lezen en gemakkelijker te onderhouden. Trouwens, andere programmeurs zijn het gaan verwachten - je zou ze toch niet willen teleurstellen, toch?

Vermijd meervoudige overerving

Meerdere overerving, zoals overbelasting door een operator, voegt een ander niveau van complexiteit toe waaraan u niet hoeft te voldoen wanneer u net begint. Gelukkig kunnen de meeste relaties uit de echte wereld worden beschreven met één enkele erfenis.

Voel je vrij om klassen met meerdere overerving te gebruiken uit commerciële bibliotheken, zoals de Microsoft MFC-klassen.Microsoft heeft een aanzienlijke hoeveelheid tijd besteed aan het opzetten van zijn lessen, en het weet wat het doet.

Experimenteer met het instellen van enkele overervingshiërarchieën nadat u vertrouwd bent met uw kennis van C ++. Op die manier ben je klaar als je het nodig hebt.

Vermijd bugs in uw C ++ -programma - dummies

Bewerkers keuze

Een Oracle-omgeving instellen - dummies

Een Oracle-omgeving instellen - dummies

Als u een typische PL / SQL-omgeving wilt instellen, hebt u de volgende componenten: Databaseserver: dit is een computer (of een reeks computers) die de Oracle-database uitvoert. Oracle werkt in veel populaire computeromgevingen. De meest gebruikte met Oracle zijn UNIX, Linux of een versie van Microsoft Windows. PL / SQL wordt meestal uitgevoerd ...

SQL-rijwaarden en -waarden - dummies

SQL-rijwaarden en -waarden - dummies

De waarden die worden bewaard in de cellen die de snijpunten van de SQL-database vormen De rijen en kolommen van de tabel zijn de grondstoffen waaruit u zinvolle relaties en trends kunt afleiden. Rijwaarden De meest zichtbare waarden in een database zijn tabelrijwaarden. Dit zijn de waarden die elke rij van een databasetabel ...

SQL eerste, tweede en derde normale vormen - dummies

SQL eerste, tweede en derde normale vormen - dummies

Er zijn drie bronnen van wijzigingsanomalieën in SQL Deze worden gedefinieerd als eerste, tweede en derde normale vormen (1NF, 2NF, 3NF). Deze normale vormen fungeren als remedies voor het wijzigen van anomalieën. Eerste normale vorm Om in de eerste normale vorm (1NF) te zijn, moet een tabel de volgende eigenschappen hebben: De tabel is tweedimensionaal met rijen en ...

Bewerkers keuze

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een kijkje nemen in het syndroom van Empty-Nest - dummies

Een veel voorkomende misvatting is dat wanneer de kinderen van een stel vertrekken thuis, zullen pappa en mama het syndroom van empty-nest ontwikkelen. Ja, ze hebben misschien een leeg nest, maar voor sommige paren bloeit hun liefdesleven in deze periode van hun leven. De slachtoffers van het syndroom zijn de paren waarvan de relatie uit elkaar valt als zij de enige ...

STD's: wat u moet weten over herpes - dummies

STD's: wat u moet weten over herpes - dummies

Herpes, veroorzaakt door het herpes simplex-virus (HSV) ), is een ongeneeslijke SOA. Herpes heeft eigenlijk twee vormen: herpes simplex-type 1 (HSV-1) en herpes simplex-type 2 (HSV-2). HSV-1 wordt meestal geassocieerd met koortsblaasjes en koortsblaren boven de taille. "Ongeveer 80 procent van de Amerikaanse volwassenen heeft orale herpes. Ongeveer 25 procent van ...

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Tiener Geslacht: hoe te weten Hoe ver te gaan - dummies

Een van de grootste vragen voor tieners is niet "Zou ik seks moeten hebben? "Maar" Hoe ver moet ik gaan? "Terwijl het eigen comfortniveau en dat van de partner de topprioriteit zou moeten zijn in deze beslissing, spelen andere factoren een rol, vooral als tieners dat amorfe concept van" het derde honk overwegen. "" Derde basis "...

Bewerkers keuze

Tien voorwaarden American Football Announcers Gebruik - dummies

Tien voorwaarden American Football Announcers Gebruik - dummies

Een van de moeilijkste en meest intimiderende onderdelen over het volgen van een Amerikaans voetbalwedstrijd is dat de presentatoren soms een vreemde taal lijken te spreken die alleen bekend is bij echte voetballiefhebbers. Maar als je een aantal belangrijke termen onthoudt, ben je ver voor op het spel. Hier zijn enkele voetbaltermen die je misschien hoort, ...

Het begin van een voetbalspel: The Kickoff - dummies

Het begin van een voetbalspel: The Kickoff - dummies

Voor Amerikaanse voetbalfans, de openingsaftrap is een opwindende start voor elke game. Ze zien de tweezijdige sensatie van het ene team dat probeert het andere te blokkeren en helpt de herhaler om door en voorbij 11 snelladers van het trapende team te rennen. (Wel, maak die tien spelers.De kicker staat meestal rond de 50-yard-lijn, ...

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Uw voetbalcoachtoelen afstemmen op een leeftijdsgroep - dummies

Elk kind in uw team is anders zoveel manieren. Sommigen zijn begaafde hardlopers, anderen kunnen duizelingwekkende vangsten maken en wat moeite om simpelweg de basistechnieken van het spel te vatten. Ongeacht de sterke en zwakke punten van de kinderen, die overal op de kaart staan, hebben jongeren algemene kenmerken die worden beïnvloed ...