Πώς να βελτιώσετε τις δεξιότητές σας στον εντοπισμό σφαλμάτων

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

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

Ακολουθούν μερικά από τα λάθη που κάνουν οι προγραμματιστές

Αποτυχία καταγραφής μηνυμάτων

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

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

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

Αποτυχία ανάγνωσης μηνυμάτων σφάλματος

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

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

Αποτυχία ανάγνωσης αρχείων καταγραφής συστήματος

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

Αποτυχία εγγραφής αρχείων καταγραφής ιχνών

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

Αποτυχία να πραγματοποιήσετε στοιχειώδεις αλλαγές, να τις δημιουργήσετε και να τις δοκιμάσετε

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

Συχνά, θα αναδιαμορφώσω ακόμη και τον κωδικό μου για να απλοποιήσω αυτό που έχω γράψει.

Αποτυχία εγγραφής αυτοματισμού δοκιμής

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

Αποτυχία χρήσης της μεθόδου εξάλειψης

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

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

Αντιγραφή και επικόλληση από το StackOverflow

Συχνά, οι προγραμματιστές αντιγράφουν και επικολλούν κώδικα από υπερχείλιση στοίβας χωρίς να κατανοούν τι κάνει. Αυτό έχει τόσες πολλές δυσμενείς επιπτώσεις. Πρώτον, είναι σημαντικό να δώσετε προσοχή σε ό, τι πηγαίνει στην αίτησή σας.

Τις περισσότερες φορές από ό, τι θα ήθελα, όταν γράφω μια ερώτηση στο StackOverflow και σκέφτομαι πώς να το διατυπώσω αποτελεσματικά, καταλήγω να απαντήσω στη δική μου ερώτηση!

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

Αποτυχία επίλυσης του προβλήματος ξανά

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

Αποτυχία επιστροφής

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

Αποτυχία εκμάθησης του προγράμματος εντοπισμού σφαλμάτων

Τέλος, η μοναδική καλύτερη επένδυση που μπορείτε να κάνετε στον εαυτό σας είναι να μάθετε να χρησιμοποιείτε ένα πρόγραμμα εντοπισμού σφαλμάτων. Όλα τα IDE έρχονται με ισχυρούς προγραμματιστές. Ακολουθούν τις ίδιες βασικές έννοιες. Σας επιτρέπουν να σταματήσετε μέσω προγραμματισμού την εκτέλεση της εφαρμογής σας, είτε κατά την εκκίνηση είτε σε συγκεκριμένο τμήμα της ροής του προγράμματος.

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

Εάν αυτό το άρθρο ήταν χρήσιμο, ??? και ακολουθήστε με στο Twitter.

Επεκτάσεις GitHub για ενίσχυση της παραγωγικότητάς σας

Εδώ είναι οι επεκτάσεις GitHub που χρησιμοποιώ. Θα σας επιτρέψουν να βελτιώσετε την παραγωγικότητά σας στο GitHub. Παρακαλώ μοιραστείτε το… medium.freecodecamp.org