Inhoudsopgave:
- Adopteer een duidelijke en consistente coderingsstijl
- Reageer op uw code terwijl u deze schrijft
- Eén stap elk pad minstens één keer
- Vermijd overbelasting van operators
- Verwerking van balanshopen
- Gebruik uitzonderingen om fouten af te handelen
- Vermijd meervoudige overerving
Video: Baldi’s Basics Song- Basics in Behavior [Blue]- The Living Tombstone feat. OR3O 2024
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.