Πίνακας περιεχομένων:
- Υιοθετήστε ένα σαφές και σταθερό στυλ κωδικοποίησης
- Σχολιάστε τον κωδικό σας καθώς γράφετε
- Ένα μονοπάτι κάθε διαδρομή τουλάχιστον μία φορά
- Αποφύγετε την υπερφόρτωση των χειριστών
- Γενικά, οι προγραμματιστές πρέπει να διαθέτουν και να απελευθερώνουν τη μνήμη σωρού στο ίδιο "επίπεδο". "Εάν μια συνάρτηση μέλους
- Ο μηχανισμός εξαίρεσης της C ++ έχει σχεδιαστεί για να χειρίζεται εύκολα και αποτελεσματικά τα σφάλματα. Τώρα που αυτό το χαρακτηριστικό έχει τυποποιηθεί, θα πρέπει να το χρησιμοποιήσετε. Ο κώδικας που προκύπτει είναι ευκολότερος στην εγγραφή, ευκολότερη στην ανάγνωση και ευκολότερη συντήρηση. Εκτός αυτού, άλλοι προγραμματιστές έχουν έρθει να το περιμένουν - δεν θα θελήσατε να τους απογοητεύσετε, έτσι;
- Η πολλαπλή κληρονομιά, όπως η υπερφόρτωση του χειριστή, προσθέτει ένα άλλο επίπεδο πολυπλοκότητας που δεν χρειάζεται να αντιμετωπίσετε όταν ξεκινάτε απλά. Ευτυχώς, οι περισσότερες πραγματικές σχέσεις μπορούν να περιγραφούν με μία κληρονομιά.
Βίντεο: Section, Week 2 2024
Μην ξεκινήσετε να σφαλίζετε τον κώδικα σας μέχρι να αφαιρέσετε ή τουλάχιστον να καταλάβετε όλες τις προειδοποιήσεις που δημιουργούνται κατά τη διάρκεια της σύνταξης. Ενεργοποιώντας όλα τα προειδοποιητικά μηνύματα, αν τα αγνοήσετε τότε δεν σας βολεύει. Εάν δεν καταλαβαίνετε την προειδοποίηση, αναζητήστε το. Αυτό που δεν γνωρίζετε θα σας βλάψει .
Υιοθετήστε ένα σαφές και σταθερό στυλ κωδικοποίησης
Η κωδικοποίηση σε ένα σαφές και σταθερό στυλ όχι μόνο βελτιώνει την αναγνωσιμότητα του προγράμματος αλλά και οδηγεί σε λιγότερα σφάλματα κωδικοποίησης. Θυμηθείτε ότι, όσο λιγότερη δύναμη εγκεφάλου θα πρέπει να δαπανήσετε για να αποκωδικοποιήσετε τη σύνταξη C ++, τόσο περισσότερο έχετε αφήσει για να σκεφτείτε τη λογική του προγράμματος. Ένα καλό στυλ κωδικοποίησης σας επιτρέπει να κάνετε τα εξής με ευκολία:
Επιπλέον, πρέπει να δημιουργήσετε μια τυποποιημένη κεφαλίδα ενότητας που παρέχει πληροφορίες σχετικά με τις λειτουργίες ή τις κλάσεις της ενότητας, τον συγγραφέα (πιθανώς, εσείς), την ημερομηνία, την έκδοση του μεταγλωττιστή που χρησιμοποιείτε και ένα ιστορικό τροποποιήσεων.
Τέλος, όλοι οι προγραμματιστές που συμμετέχουν σε ένα ενιαίο έργο πρέπει να χρησιμοποιούν το ίδιο στυλ. Η προσπάθεια αποκρυπτογράφησης ενός προγράμματος με ένα συνονθύλευμα διαφορετικών μορφών κωδικοποίησης προκαλεί σύγχυση.
Σχολιάστε τον κωδικό σας καθώς γράφετε
Μπορείτε να αποφύγετε τα σφάλματα εάν σχολιάζετε τον κώδικα ενώ γράφετε παρά να περιμένετε μέχρι να λειτουργήσει ο καθένας και στη συνέχεια να επιστρέψετε και να προσθέσετε σχόλια. Δεν παίρνετε το χρόνο να γράψετε ογκώδεις κεφαλίδες και περιγραφές λειτουργιών μέχρι αργότερα είναι κατανοητό, αλλά έχετε πάντα χρόνο για να προσθέσετε σύντομα σχόλια κατά τη σύνταξη του κώδικα.
Τα σύντομα σχόλια πρέπει να είναι διαφωτιστικά. Εάν δεν είναι, δεν αξίζουν πολλά και πρέπει να κάνετε κάτι άλλο. Χρειάζεστε όλη τη φώτιση που μπορείτε να πάρετε όσο προσπαθείτε να κάνετε το πρόγραμμά σας να λειτουργήσει. Όταν εξετάζετε ένα κομμάτι κώδικα που γράψατε πριν από λίγες ημέρες, τα σχόλια που είναι σύντομα, περιγραφικά και μέχρι στιγμής μπορούν να συμβάλουν δραματικά στην προσπάθεια να σας βοηθήσουν να καταλάβετε τι ακριβώς προσπαθούσατε να κάνετε.
Επιπλέον, οι συνεπείς συμβολές κωδικοποίησης και ονοματοδοσίας καθιστούν τον κώδικα πιο κατανοητό. Είναι πολύ ωραίο όταν ο κώδικας είναι εύκολος στην ανάγνωση αφού τελειώσετε με αυτό, αλλά είναι εξίσου σημαντικό ο κώδικας να είναι εύκολος στην ανάγνωση, ενώ το γράφετε. Τότε χρειάζεστε τη βοήθεια.
Ένα μονοπάτι κάθε διαδρομή τουλάχιστον μία φορά
Ως προγραμματιστής, είναι σημαντικό να καταλάβετε τι κάνει το πρόγραμμά σας. Τίποτα δεν σας δίνει μια καλύτερη αίσθηση για το τι συμβαίνει κάτω από την κουκούλα από την απλή βηματοδότηση του προγράμματος με ένα καλό πρόγραμμα εντοπισμού σφαλμάτων. (Τα προγράμματα εντοπισμού σφαλμάτων που περιλαμβάνονται στο IDE των διαλογικών μεταγλωττιστών λειτουργούν πολύ καλά.)
Πέρα από αυτό, καθώς γράφετε ένα πρόγραμμα, χρειάζεται μερικές φορές πρώτες ύλες για να υπολογίσετε κάποια παράξενη συμπεριφορά. Τίποτα δεν σας δίνει αυτό το υλικό καλύτερα από τις απλές λειτουργίες που εισέρχονται στην υπηρεσία.
Τέλος, όταν μια λειτουργία έχει ολοκληρωθεί και είναι έτοιμη να προστεθεί στο πρόγραμμα, κάθε λογική διαδρομή πρέπει να διανυθεί τουλάχιστον μία φορά. Τα σφάλματα είναι πολύ πιο εύκολα να εντοπιστούν όταν η λειτουργία εξετάζεται από μόνη της παρά από το να ριχτεί στο δοχείο με τις υπόλοιπες λειτουργίες - και η προσοχή σας έχει προχωρήσει σε νέες προκλήσεις προγραμματισμού.
Αποφύγετε την υπερφόρτωση των χειριστών
Εκτός από τη χρήση του τελεστή κίνησης και του χειριστή I / O = () , θα πρέπει πιθανώς να αποφύγετε την υπερφόρτωση των χειριστών μέχρι να αισθανθείτε άνετα με τη C ++. Παρόλο που μια καλή ομάδα υπερφορτωμένων χειριστών μπορεί να αυξήσει τη χρησιμότητα και την αναγνωσιμότητα μιας νέας κλάσης, οι υπερφόρτωσης των χειριστών (εκτός από τους τρεις που αναφέρονται παραπάνω) δεν είναι σχεδόν ποτέ απαραίτητοι και μπορούν να προσθέσουν σημαντικά στα δεινά σας ως νέο προγραμματιστή. Μπορείτε να πάρετε το ίδιο αποτέλεσμα καθορίζοντας και χρησιμοποιώντας τις κατάλληλες λειτουργίες του δημόσιου μέλους αντί. Αφού έχετε C-Plus-Plussing για λίγους μήνες, αισθανθείτε ελεύθεροι να επιστρέψετε και να αρχίσετε να επιβαρύνετε τους χειριστές με το περιεχόμενο της καρδιάς σας.
Διαχείριση ζυγοστάθμισης
Γενικά, οι προγραμματιστές πρέπει να διαθέτουν και να απελευθερώνουν τη μνήμη σωρού στο ίδιο "επίπεδο". "Εάν μια συνάρτηση μέλους
MyClass:: create () διαθέτει ένα μπλοκ μνήμης σωρού και το επιστρέφει στον καλούντα, τότε θα πρέπει να υπάρχει συνάρτηση μέλους MyClass:: release () επιστρέφει τη μνήμη στον σωρό. Συγκεκριμένα, MyClass:: create () δεν θα πρέπει να απαιτεί τη γονική λειτουργία για να απελευθερώσει την ίδια τη μνήμη. Αυτό ασφαλώς δεν αποφεύγει όλα τα προβλήματα μνήμης - η γονική λειτουργία μπορεί να ξεχάσει να καλέσει MyClass:: release () - αλλά μειώνει κάπως την πιθανότητα. Χρήση εξαιρέσεων για χειρισμό σφαλμάτων
Ο μηχανισμός εξαίρεσης της C ++ έχει σχεδιαστεί για να χειρίζεται εύκολα και αποτελεσματικά τα σφάλματα. Τώρα που αυτό το χαρακτηριστικό έχει τυποποιηθεί, θα πρέπει να το χρησιμοποιήσετε. Ο κώδικας που προκύπτει είναι ευκολότερος στην εγγραφή, ευκολότερη στην ανάγνωση και ευκολότερη συντήρηση. Εκτός αυτού, άλλοι προγραμματιστές έχουν έρθει να το περιμένουν - δεν θα θελήσατε να τους απογοητεύσετε, έτσι;
Αποφύγετε την πολλαπλή κληρονομιά
Η πολλαπλή κληρονομιά, όπως η υπερφόρτωση του χειριστή, προσθέτει ένα άλλο επίπεδο πολυπλοκότητας που δεν χρειάζεται να αντιμετωπίσετε όταν ξεκινάτε απλά. Ευτυχώς, οι περισσότερες πραγματικές σχέσεις μπορούν να περιγραφούν με μία κληρονομιά.
Διστάσετε να χρησιμοποιήσετε πολλαπλά κληρονομούμενα μαθήματα από εμπορικές βιβλιοθήκες, όπως οι κλάσεις Microsoft MFC.Η Microsoft έχει ξοδέψει αρκετό χρόνο για να δημιουργήσει τις τάξεις της και ξέρει τι κάνει.
Αφού αισθάνεστε άνετα με το επίπεδο κατανόησης της C ++, δοκιμάστε να δημιουργήσετε κάποιες πολλαπλές ιεραρχίες κληρονομιών. Με αυτόν τον τρόπο, θα είστε έτοιμοι αν το χρειάζεστε.