Σπίτι Προσωπικά Οικονομικά Αποφυγή σφαλμάτων στο πρόγραμμα C ++ - dummies

Αποφυγή σφαλμάτων στο πρόγραμμα C ++ - dummies

Πίνακας περιεχομένων:

Βίντεο: Section, Week 2 2024

Βίντεο: Section, Week 2 2024
Anonim

Μην ξεκινήσετε να σφαλίζετε τον κώδικα σας μέχρι να αφαιρέσετε ή τουλάχιστον να καταλάβετε όλες τις προειδοποιήσεις που δημιουργούνται κατά τη διάρκεια της σύνταξης. Ενεργοποιώντας όλα τα προειδοποιητικά μηνύματα, αν τα αγνοήσετε τότε δεν σας βολεύει. Εάν δεν καταλαβαίνετε την προειδοποίηση, αναζητήστε το. Αυτό που δεν γνωρίζετε θα σας βλάψει .

Υιοθετήστε ένα σαφές και σταθερό στυλ κωδικοποίησης

Η κωδικοποίηση σε ένα σαφές και σταθερό στυλ όχι μόνο βελτιώνει την αναγνωσιμότητα του προγράμματος αλλά και οδηγεί σε λιγότερα σφάλματα κωδικοποίησης. Θυμηθείτε ότι, όσο λιγότερη δύναμη εγκεφάλου θα πρέπει να δαπανήσετε για να αποκωδικοποιήσετε τη σύνταξη C ++, τόσο περισσότερο έχετε αφήσει για να σκεφτείτε τη λογική του προγράμματος. Ένα καλό στυλ κωδικοποίησης σας επιτρέπει να κάνετε τα εξής με ευκολία:

  • Διακρίνουμε τα ονόματα κλάσεων, τα ονόματα αντικειμένων και τα ονόματα λειτουργιών
  • Γνωρίζετε κάτι σχετικά με το αντικείμενο με βάση το όνομά του
  • Διαχωρίστε τα σύμβολα του preprocessor από τα σύμβολα C ++ (δηλαδή, τα #defined αντικείμενα πρέπει να ξεχωρίζουν)
  • Προσδιορίστε τα μπλοκ του κώδικα C ++ στο ίδιο επίπεδο (αυτό είναι το αποτέλεσμα της συνεπούς εσοχής)
  • Επιπλέον, πρέπει να δημιουργήσετε μια τυποποιημένη κεφαλίδα ενότητας που παρέχει πληροφορίες σχετικά με τις λειτουργίες ή τις κλάσεις της ενότητας, τον συγγραφέα (πιθανώς, εσείς), την ημερομηνία, την έκδοση του μεταγλωττιστή που χρησιμοποιείτε και ένα ιστορικό τροποποιήσεων.

    Τέλος, όλοι οι προγραμματιστές που συμμετέχουν σε ένα ενιαίο έργο πρέπει να χρησιμοποιούν το ίδιο στυλ. Η προσπάθεια αποκρυπτογράφησης ενός προγράμματος με ένα συνονθύλευμα διαφορετικών μορφών κωδικοποίησης προκαλεί σύγχυση.

    Σχολιάστε τον κωδικό σας καθώς γράφετε

    Μπορείτε να αποφύγετε τα σφάλματα εάν σχολιάζετε τον κώδικα ενώ γράφετε παρά να περιμένετε μέχρι να λειτουργήσει ο καθένας και στη συνέχεια να επιστρέψετε και να προσθέσετε σχόλια. Δεν παίρνετε το χρόνο να γράψετε ογκώδεις κεφαλίδες και περιγραφές λειτουργιών μέχρι αργότερα είναι κατανοητό, αλλά έχετε πάντα χρόνο για να προσθέσετε σύντομα σχόλια κατά τη σύνταξη του κώδικα.

    Τα σύντομα σχόλια πρέπει να είναι διαφωτιστικά. Εάν δεν είναι, δεν αξίζουν πολλά και πρέπει να κάνετε κάτι άλλο. Χρειάζεστε όλη τη φώτιση που μπορείτε να πάρετε όσο προσπαθείτε να κάνετε το πρόγραμμά σας να λειτουργήσει. Όταν εξετάζετε ένα κομμάτι κώδικα που γράψατε πριν από λίγες ημέρες, τα σχόλια που είναι σύντομα, περιγραφικά και μέχρι στιγμής μπορούν να συμβάλουν δραματικά στην προσπάθεια να σας βοηθήσουν να καταλάβετε τι ακριβώς προσπαθούσατε να κάνετε.

    Επιπλέον, οι συνεπείς συμβολές κωδικοποίησης και ονοματοδοσίας καθιστούν τον κώδικα πιο κατανοητό. Είναι πολύ ωραίο όταν ο κώδικας είναι εύκολος στην ανάγνωση αφού τελειώσετε με αυτό, αλλά είναι εξίσου σημαντικό ο κώδικας να είναι εύκολος στην ανάγνωση, ενώ το γράφετε. Τότε χρειάζεστε τη βοήθεια.

    Ένα μονοπάτι κάθε διαδρομή τουλάχιστον μία φορά

    Ως προγραμματιστής, είναι σημαντικό να καταλάβετε τι κάνει το πρόγραμμά σας. Τίποτα δεν σας δίνει μια καλύτερη αίσθηση για το τι συμβαίνει κάτω από την κουκούλα από την απλή βηματοδότηση του προγράμματος με ένα καλό πρόγραμμα εντοπισμού σφαλμάτων. (Τα προγράμματα εντοπισμού σφαλμάτων που περιλαμβάνονται στο IDE των διαλογικών μεταγλωττιστών λειτουργούν πολύ καλά.)

    Πέρα από αυτό, καθώς γράφετε ένα πρόγραμμα, χρειάζεται μερικές φορές πρώτες ύλες για να υπολογίσετε κάποια παράξενη συμπεριφορά. Τίποτα δεν σας δίνει αυτό το υλικό καλύτερα από τις απλές λειτουργίες που εισέρχονται στην υπηρεσία.

    Τέλος, όταν μια λειτουργία έχει ολοκληρωθεί και είναι έτοιμη να προστεθεί στο πρόγραμμα, κάθε λογική διαδρομή πρέπει να διανυθεί τουλάχιστον μία φορά. Τα σφάλματα είναι πολύ πιο εύκολα να εντοπιστούν όταν η λειτουργία εξετάζεται από μόνη της παρά από το να ριχτεί στο δοχείο με τις υπόλοιπες λειτουργίες - και η προσοχή σας έχει προχωρήσει σε νέες προκλήσεις προγραμματισμού.

    Αποφύγετε την υπερφόρτωση των χειριστών

    Εκτός από τη χρήση του τελεστή κίνησης και του χειριστή I / O = () , θα πρέπει πιθανώς να αποφύγετε την υπερφόρτωση των χειριστών μέχρι να αισθανθείτε άνετα με τη C ++. Παρόλο που μια καλή ομάδα υπερφορτωμένων χειριστών μπορεί να αυξήσει τη χρησιμότητα και την αναγνωσιμότητα μιας νέας κλάσης, οι υπερφόρτωσης των χειριστών (εκτός από τους τρεις που αναφέρονται παραπάνω) δεν είναι σχεδόν ποτέ απαραίτητοι και μπορούν να προσθέσουν σημαντικά στα δεινά σας ως νέο προγραμματιστή. Μπορείτε να πάρετε το ίδιο αποτέλεσμα καθορίζοντας και χρησιμοποιώντας τις κατάλληλες λειτουργίες του δημόσιου μέλους αντί. Αφού έχετε C-Plus-Plussing για λίγους μήνες, αισθανθείτε ελεύθεροι να επιστρέψετε και να αρχίσετε να επιβαρύνετε τους χειριστές με το περιεχόμενο της καρδιάς σας.

    Διαχείριση ζυγοστάθμισης

    Γενικά, οι προγραμματιστές πρέπει να διαθέτουν και να απελευθερώνουν τη μνήμη σωρού στο ίδιο "επίπεδο". "Εάν μια συνάρτηση μέλους

    MyClass:: create () διαθέτει ένα μπλοκ μνήμης σωρού και το επιστρέφει στον καλούντα, τότε θα πρέπει να υπάρχει συνάρτηση μέλους MyClass:: release () επιστρέφει τη μνήμη στον σωρό. Συγκεκριμένα, MyClass:: create () δεν θα πρέπει να απαιτεί τη γονική λειτουργία για να απελευθερώσει την ίδια τη μνήμη. Αυτό ασφαλώς δεν αποφεύγει όλα τα προβλήματα μνήμης - η γονική λειτουργία μπορεί να ξεχάσει να καλέσει MyClass:: release () - αλλά μειώνει κάπως την πιθανότητα. Χρήση εξαιρέσεων για χειρισμό σφαλμάτων

    Ο μηχανισμός εξαίρεσης της C ++ έχει σχεδιαστεί για να χειρίζεται εύκολα και αποτελεσματικά τα σφάλματα. Τώρα που αυτό το χαρακτηριστικό έχει τυποποιηθεί, θα πρέπει να το χρησιμοποιήσετε. Ο κώδικας που προκύπτει είναι ευκολότερος στην εγγραφή, ευκολότερη στην ανάγνωση και ευκολότερη συντήρηση. Εκτός αυτού, άλλοι προγραμματιστές έχουν έρθει να το περιμένουν - δεν θα θελήσατε να τους απογοητεύσετε, έτσι;

    Αποφύγετε την πολλαπλή κληρονομιά

    Η πολλαπλή κληρονομιά, όπως η υπερφόρτωση του χειριστή, προσθέτει ένα άλλο επίπεδο πολυπλοκότητας που δεν χρειάζεται να αντιμετωπίσετε όταν ξεκινάτε απλά. Ευτυχώς, οι περισσότερες πραγματικές σχέσεις μπορούν να περιγραφούν με μία κληρονομιά.

    Διστάσετε να χρησιμοποιήσετε πολλαπλά κληρονομούμενα μαθήματα από εμπορικές βιβλιοθήκες, όπως οι κλάσεις Microsoft MFC.Η Microsoft έχει ξοδέψει αρκετό χρόνο για να δημιουργήσει τις τάξεις της και ξέρει τι κάνει.

    Αφού αισθάνεστε άνετα με το επίπεδο κατανόησης της C ++, δοκιμάστε να δημιουργήσετε κάποιες πολλαπλές ιεραρχίες κληρονομιών. Με αυτόν τον τρόπο, θα είστε έτοιμοι αν το χρειάζεστε.

    Αποφυγή σφαλμάτων στο πρόγραμμα C ++ - dummies

    Η επιλογή των συντακτών

    Πώς να αλλάξετε τη ρύθμιση ισορροπίας λευκού σε ετικέτες Canon EOS 70D

    Πώς να αλλάξετε τη ρύθμιση ισορροπίας λευκού σε ετικέτες Canon EOS 70D

    Χρησιμοποιώντας το Ο έλεγχος εξισορρόπησης λευκού στο Canon EOS 70D σας μπορεί εύκολα και γρήγορα να διορθώσει προβλήματα χρώματος. Οι διαθέσιμες ρυθμίσεις ισορροπίας λευκού απεικονίζονται με τα σύμβολα που εμφανίζονται στον παρακάτω πίνακα. Μπορείτε να δείτε την τρέχουσα ρύθμιση στην οθόνη Ρυθμίσεις λήψης, όπως φαίνεται στο παρακάτω σχήμα. Για να προσαρμόσετε τη ρύθμιση, έχετε ...

    Η επιλογή των συντακτών

    Προετοιμασία αντιγράφου TIFF ψηφιακής εικόνας για δημοσίευση - ανδρεικέλες

    Προετοιμασία αντιγράφου TIFF ψηφιακής εικόνας για δημοσίευση - ανδρεικέλες

    Μπορείτε να δημιουργήσετε αντίγραφο TIFF ψηφιακής εικόνας εύκολα. Για παράδειγμα, εάν θέλετε να υποβάλετε μια ψηφιακή φωτογραφία σε μια δημοσίευση εκτύπωσης, χρειάζεστε ένα αρχείο φωτογραφίας μορφής TIFF. Για να δημιουργήσετε ένα αντίγραφο TIFF ενός αρχείου σε ένα πρόγραμμα επεξεργασίας φωτογραφιών:

    Εξάγοντας το περίγραμμα επιλογής του ψηφιακού σας επεξεργαστή εικόνας - ανδρείκελα

    Εξάγοντας το περίγραμμα επιλογής του ψηφιακού σας επεξεργαστή εικόνας - ανδρείκελα

    Η πρώτη προσπάθεια. Αναμείνετε να βελτιώσετε το περίγραμμα επιλογής σας τουλάχιστον λίγο. Μπορείτε να βελτιώσετε το περίγραμμα σας με διάφορους τρόπους: Αντίστροφη περιγράμματος επιλογής: Απλά χρησιμοποιήστε την εντολή Invert (ή την αντίστοιχη εντολή του προγράμματος). Προσθέστε σε περίγραμμα επιλογής: ...

    Επιλογή από τις άκρες της ψηφιακής εικόνας - ανδρείκελα

    Επιλογή από τις άκρες της ψηφιακής εικόνας - ανδρείκελα

    Όπου οι φωτεινές περιοχές πληρούν τις σκοτεινές περιοχές. Πολλά προγράμματα επεξεργασίας φωτογραφιών σας επιτρέπουν να σχεδιάσετε ένα περίγραμμα επιλογής κατά μήκος ενός άκρου. Το εργαλείο αναζητά άκρες κοντά στο σημείο που σύρετε το ποντίκι.

    Η επιλογή των συντακτών

    Πώς να χρησιμοποιείτε το παράθυρο μητρώου του QuickBooks 2010 - dummies

    Πώς να χρησιμοποιείτε το παράθυρο μητρώου του QuickBooks 2010 - dummies

    Για να εργαστείτε ευκολότερα με το παράθυρο του Μητρώου και να ελέγξετε τον τρόπο εμφάνισής του: Το κουμπί Μετάβαση: Εμφανίζει το παράθυρο διαλόγου Μετάβαση (Go To). Αυτό το παράθυρο διαλόγου σάς επιτρέπει να αναζητήσετε μια συναλλαγή στο παράθυρο "Εγγραφή". Για παράδειγμα, μπορείτε να αναζητήσετε ...

    Πώς να εργάζεστε με έναν υπάρχοντα προϋπολογισμό σε QuickBooks - dummies

    Πώς να εργάζεστε με έναν υπάρχοντα προϋπολογισμό σε QuickBooks - dummies

    Σε μεγάλες εταιρείες με εκατοντάδες ή χιλιάδες εργαζόμενοι, δύο ή τρία άτομα δαπανούν μεγάλο μέρος ή και ολόκληρο το χρόνο εργασίας τους με τα στοιχεία που έχουν εγγραφεί στον προϋπολογισμό. Για να επεξεργαστείτε έναν υπάρχοντα προϋπολογισμό στο QuickBooks, ακολουθήστε τα παρακάτω βήματα:

    Πώς να χρησιμοποιείτε τα κουτιά παραθύρων αναφορών του QuickBooks - dummies

    Πώς να χρησιμοποιείτε τα κουτιά παραθύρων αναφορών του QuickBooks - dummies

    Από, Προς, Στήλες και Ταξινόμηση. Αυτά τα πλαίσια σας επιτρέπουν επίσης να ελέγχετε τις πληροφορίες που εμφανίζονται στο παράθυρο αναφοράς και την εμφάνιση των πληροφοριών. Για παράδειγμα, μπορείτε να ενημερώσετε το QuickBooks για το χρονικό διάστημα που θέλετε ...