Cuprins:
- Adoptarea unui stil de codare clar și consecvent
- Comentează codul pe măsură ce-l scrii
- Fiecare pas în fiecare pas cel puțin o dată
- Evitați operatorii de supraîncărcare
- În general, programatorii ar trebui să aloce și să elibereze memoria heap la același "nivel". "Dacă funcția membrului
- Evitați moștenirea multiplă
- Simțiți-vă libertatea de a folosi clase multiple moștenite din bibliotecile comerciale, cum ar fi clasele Microsoft MFC.Microsoft a petrecut o perioadă considerabilă de timp pentru a-și stabili clasele și știe ce face.
Video: Writing 2D Games in C using SDL by Thomas Lively 2024
Nu începeți să depanați codul decât după ce eliminați sau cel puțin înțelegeți toate avertismentele generate în timpul compilării. Dacă activați toate mesajele de avertizare, dacă le ignorați, nu vă faceți bine. Dacă nu înțelegeți avertizarea, căutați-o. Ceea ce nu știți vă va face rău .
Adoptarea unui stil de codare clar și consecvent
Codificarea într-un stil clar și consecvent nu numai că îmbunătățește lizibilitatea programului, dar are ca rezultat și mai puține greșeli de codificare. Amintiți-vă, puterea creierului mai puțin pe care trebuie să o descifrăți în sintaxa C ++, cu atât mai mult ați lăsat să vă gândiți la logica programului la îndemână. Un stil de codare bun vă permite să faceți următoarele cu ușurință:
În plus, trebuie să stabiliți un antet standard al modulului care să furnizeze informații despre funcțiile sau clasele din modul, autorul (probabil că sunteți voi), data, versiunea compilatorului pe care îl utilizați și istoricul modificărilor.
În fine, toți programatorii implicați într-un singur proiect ar trebui să utilizeze același stil. Încercarea de a descifra un program cu un mozaic de stiluri diferite de codificare este confuz.
Comentează codul pe măsură ce-l scrii
Poți evita erorile dacă îți comentezi codul în timp ce îl scrii, mai degrabă decât așteaptă până când totul funcționează și apoi se întoarce și adaugă comentarii. Nu aveți timp să scrieți anteturi voluminoase și descrieri de funcții până la ultima oară este de înțeles, dar aveți întotdeauna timp să adăugați comentariile scurte în timp ce scrieți codul.
Comentariile scurte ar trebui să fie luminante. Dacă nu, nu merită prea mult și ar trebui să faci altceva. Aveți nevoie de toată iluminarea pe care o puteți obține în timp ce încercați să faceți programul dvs. de lucru. Când te uiți la o bucată de cod pe care ai scris-o acum câteva zile, comentariile scurte, descriptive, și până la acest punct pot aduce o contribuție dramatică pentru a te ajuta să îți dai seama exact ce încercai să faci.
În plus, convențiile coerente de codare și numire fac codul mai ușor de înțeles. Este foarte frumos atunci când codul este ușor de citit după ce ați terminat cu el, dar este la fel de important ca acest cod să fie ușor de citit în timp ce îl scrieți. Atunci ai nevoie de ajutor.
Fiecare pas în fiecare pas cel puțin o dată
Ca programator, este important să înțelegeți ce face programul dvs. Nimic nu vă dă o senzație mai bună pentru ceea ce se întâmplă sub capotă decât o singură trecere a programului cu un program de depanare bun. (Debuggerii incluși în IDE de compilatoare interactive funcționează foarte bine.)
Dincolo de asta, pe măsură ce scrieți un program, uneori aveți nevoie de materii prime pentru a descoperi un comportament bizar. Nimic nu vă oferă acest material mai bine decât funcțiile noi cu un singur pas înainte de a intra în serviciu.
În cele din urmă, atunci când o funcție este terminată și este gata să fie adăugată la program, fiecare cale logică trebuie călătorită cel puțin o dată. Bug-urile sunt mult mai ușor de găsit atunci când funcția este examinată de sine însuși decât după ce a fost aruncată în pot cu restul funcțiilor - și atenția dvs. a continuat cu noi provocări de programare.
Evitați operatorii de supraîncărcare
Altele decât operatorul operatorului de operațiuni I / O și () = () , probabil că ar trebui să țineți operatorii de supraîncărcare până când vă simțiți confortabil cu C ++. Deși un set bun de operatori supraîncărcați poate spori utilitatea și lizibilitatea unei noi clase, operatorii de supraîncărcare (alții decât cei trei listați) nu sunt aproape niciodată necesari și pot adăuga în mod semnificativ la problemele dvs. de depanare ca un nou programator. Puteți obține același efect prin definirea și folosirea funcțiilor publice corespunzătoare ale membrilor. După ce ați fost C-Plus-Plussing timp de câteva luni, nu ezitați să vă întoarceți și să începeți să supraîncărcați operatorii la conținutul inimii.
Manipularea echilibrului
În general, programatorii ar trebui să aloce și să elibereze memoria heap la același "nivel". "Dacă funcția membrului
MyClass:: create () alocă un bloc de memorie heap și îl returnează apelantului, atunci ar trebui să existe o funcție membră MyClass:: release returnează memoria în heap. În mod specific, MyClass:: create () nu ar trebui să solicite funcției părinte să elibereze memoria însăși. Cu siguranță acest lucru nu evită toate problemele de memorie - funcția părinte poate uita să sune MyClass:: release () - dar reduce probabilitatea oarecum. Utilizați excepții pentru a gestiona erorile Mecanismul de excepție în C ++ este conceput pentru a gestiona erorile convenabil și eficient. Acum că această caracteristică a fost standardizată, ar trebui să o utilizați. Codul rezultat este mai ușor de scris, mai ușor de citit și mai ușor de întreținut. În plus, alți programatori au ajuns să se aștepte la asta - nu ai vrea să-i dezamăgesc, nu-i așa?
Evitați moștenirea multiplă
Moștenirea multiplă, cum ar fi supraîncărcarea operatorului, adaugă un alt nivel de complexitate pe care nu trebuie să-l rezolvați atunci când tocmai ați început. Din fericire, cele mai multe relații din lumea reală pot fi descrise cu o singură moștenire.
Simțiți-vă libertatea de a folosi clase multiple moștenite din bibliotecile comerciale, cum ar fi clasele Microsoft MFC.Microsoft a petrecut o perioadă considerabilă de timp pentru a-și stabili clasele și știe ce face.
După ce vă simțiți confortabil cu nivelul dvs. de înțelegere a C ++, experimentați cu setarea unor ierarhii multiple de moștenire. În acest fel, veți fi gata dacă aveți nevoie de ea.