8 πιο συνηθισμένα λάθη προγραμματισμού που γίνονται από αρχάριους
Η εκμάθηση κωδικοποίησης μπορεί να είναι διασκεδαστική και απορροφητική, αλλά μπορεί επίσης να είναι ένας βραχώδης δρόμος στην αρχή. Εάν έχετε την αίσθηση ότι η διαδικασία εκμάθησής σας θα μπορούσε να είναι ταχύτερη και πιο αποτελεσματική, ρίξτε μια ματιά σε αυτήν τη λίστα με κοινά λάθη προγραμματισμού. Ίσως φτιάχνετε κάποια από αυτά;
Όταν άρχισα να μαθαίνω για πρώτη φορά κωδικοποίηση, ήταν μια περίοδος συνεχούς φωτιάς στην κοιλιά μου—ήμουν τόσο ενθουσιασμένος με κάθε νέο τεύχος και κάθε νέα τεχνολογία! Εντάξει, ο ενθουσιασμός δεν ήταν πραγματικά σταθερός – εναλλάσσονταν με στιγμές αμφιβολίας όταν αντιμετώπιζα ένα πρόβλημα με τον κώδικά μου. Μερικές φορές μάθαινα μόνο για τη διασκέδαση της μάθησης και δεν με ένοιαζε πολύ αν το έκανα με τον καλύτερο δυνατό τρόπο. Κοιτάζοντας πίσω, συνειδητοποιώ ότι θα μπορούσα να είχα μάθει πιο αποτελεσματικά, ή τουλάχιστον θα μπορούσα να είχα γλιτώσει από πολλές ανησυχίες και άγχος. Αφού μίλησα με τους φίλους μου που κωδικοποιούσαν, κατάλαβα ότι δεν ήμουν μόνο εγώ, ότι όλοι έχουμε επαναλάβει τα ίδια λάθη. Ακολουθεί μια σύντομη λίστα με αυτά που πρέπει να αποφύγετε για να έχετε μια ομαλή εκκίνηση στον προγραμματισμό.
1. Ακανόνιστη μάθηση
Οι περισσότεροι αρχάριοι προγραμματιστές είναι τόσο ενθουσιασμένοι με νέα πράγματα που μαθαίνουν που χρησιμοποιούν κάθε λεπτό για να μάθουν. Ο ενθουσιασμός σβήνει γρήγορα, αλλά αν σκέφτεστε σοβαρά μια καριέρα προγραμματισμού, τότε δεν μπορείτε να την αφήσετε να πάει εντελώς. Και σίγουρα δεν μπορείς να σταματήσεις να μαθαίνεις. Αυτό που είναι κρίσιμο για την εκμάθηση κωδικοποίησης, ειδικά στην αρχή, είναι να μαθαίνετε πολύ τακτικά . Όταν όλα είναι καινούργια, είναι δύσκολο να θυμάστε όλες τις πληροφορίες και η τακτική κωδικοποίηση σας βοηθά να βάλετε σε τάξη τις γνώσεις σας . Η κωδικοποίηση μία φορά την εβδομάδα για λίγες ώρες δεν είναι τόσο αποτελεσματική όσο η κωδικοποίηση κάθε μέρα για μία ώρα. Δεν θα σπαταλάτε τον χρόνο σας προσπαθώντας να ανακαλέσετε σύνταξη ή προσπαθώντας να καταλάβετε ποια ήταν η ιδέα σας για μια συγκεκριμένη λειτουργία. Η εύρεση μιας κατάλληλης πηγής για να μάθετε από μπορεί σας βοηθούν να τηρείτε ένα κανονικό πρόγραμμα και τα διαδικτυακά μαθήματα, όπως αυτά στο LEARNPYTHON.COM , σας επιτρέπουν να μαθαίνετε με τον δικό σας ρυθμό.
2. Μαθαίνοντας τα πάντα ταυτόχρονα
Για τους αρχάριους κάθε νέα τεχνολογία είναι τόσο δελεαστική, που θέλουν να τη μάθουν αμέσως. Μπορεί να έχετε ακούσει για ένα νέο πλαίσιο σε μια συνάντηση τεχνολογίας ή μπορεί να έχετε δει ένα σεμινάριο για μια νέα γλώσσα προγραμματισμού στο Διαδίκτυο και θέλετε να τα δοκιμάσετε το συντομότερο δυνατό. Τουλάχιστον εγώ έτσι ένιωθα στην αρχή. Ως αποτέλεσμα, άλλαζα ασταμάτητα μεταξύ νέων τεχνολογιών χωρίς να αποκτήσω καμία εις βάθος γνώση. Χωρίς σταθερά βασικά, δεν θα μπορείτε να κατανοήσετε πιο περίπλοκες ιδέες. Ορισμένες τεχνολογίες βασίζονται σε άλλες και δεν θα έχουν νόημα ξεχωριστά. Προσπαθήστε να αντισταθείτε στον πειρασμό και επιλέξτε με σύνεση τη σειρά με την οποία θα μάθετε νέες δεξιότητες. Εάν δεν είστε σίγουροι ποια είναι η σωστή σειρά, ρίξτε μια ματιά στις προϋποθέσεις συμμετοχής κατά την εγγραφή σας σε ένα μάθημα.
3. Ακατάστατη μορφοποίηση κώδικα
Η διαταραχή στον κώδικά σας μπορεί να είναι επώδυνη. Στην αρχή της εκμάθησης κωδικοποίησης, δεν πίστευα απόλυτα στους μέντοράς μου όταν τόνιζαν τη σημασία της τακτοποίησης του κώδικα . Σίγουρα, κατάλαβα ότι είναι μια καλή πρακτική, αλλά έχω δώσει τόση σημασία σε αυτά που έγραφα, που δεν είχα χρόνο να σκεφτώ πώς το έγραφα. Κατάλαβα, ωστόσο, την πρώτη στιγμή που έπρεπε να ΔΙΟΡΘΩΣΩ τον κωδικό μου. Ένα τόσο απλό πράγμα όπως η εύρεση μιας ετικέτας κλεισίματος σε HTML χρειάστηκε ώρες όταν ο κώδικάς μου ήταν ακατάστατος και χωρίς εσοχές. Σε ορισμένες γλώσσες, όπως η Python, Η ΕΣΦΑΛΜΕΝΗ ΕΣΟΧΗ ΘΑ ΠΡΟΚΑΛΕΣΕΙ ΣΦΑΛΜΑΤΑ και ο κώδικάς σας δεν θα λειτουργεί. Κατά την πρώτη μου επαφή με την Python, όταν παρακολούθησα τα πρώτα μου μαθήματα, ξόδευα πολύ χρόνο ελέγχοντας ή και ξαναγράφοντας τις συναρτήσεις μου—ήμουν σίγουρος ότι ήταν καλογραμμένες, αλλά παρόλα αυτά παρήγαγαν σφάλματα. Τις περισσότερες φορές δεν έφταιγαν οι κακώς γραμμένες συνθήκες ή βρόχοι αλλά η εσφαλμένη εσοχή .
4. Αγνοώντας τις Συμβάσεις Ονομασίας
Ο κώδικάς σας μπορεί να είναι καλά διαμορφωμένος, αλλά εξακολουθεί να είναι ακατάστατος όταν πρόκειται για συμβάσεις ονομασίας . Γνωρίζω ότι είναι δύσκολο να βρείτε καλά ονόματα για τις μεταβλητές, τις κλάσεις ή τις συναρτήσεις σας στην αρχή. Και τι είναι πραγματικά τα καλά ονόματα ; Πρώτα απ ‘όλα, το όνομα πρέπει να είναι ενημερωτικό, πρέπει να πει όσο το δυνατόν ακριβέστερα τι κάνει η λειτουργία σας. Ταυτόχρονα, όσο πιο σύντομο είναι το όνομα τόσο το καλύτερο. Χρειάζεται λίγος χρόνος για να γίνει ενστικτώδης η ονομασία, αλλά αξίζει τον κόπο. Θα κάνετε τον κώδικά σας πολύ πιο ευανάγνωστο, όχι μόνο για τον μελλοντικό σας εαυτό αλλά και για άλλα μέλη της ομάδας, εάν εργάζεστε σε ομάδα. Πολλά μαθήματα εισαγωγικού επιπέδου διδάσκουν προγραμματισμό χωρίς έμφαση στα ονόματα μεταβλητών και συναρτήσεων. Εάν δημιουργήσετε μεταβλητές με τα ονόματα “a”, “b” και “c”, θα ήταν αρκετά καλό για τη μαθησιακή διαδικασία, αλλά σίγουρα δεν θα ήταν επαρκές για ένα πραγματικό έργο. Εάν θέλετε να μάθετε τις βέλτιστες πρακτικές από την αρχή.
5. Χωρίς αντίγραφα ασφαλείας
Λένε ότι υπάρχουν δύο τύποι ανθρώπων στον κόσμο, οι άνθρωποι που δημιουργούν αντίγραφα ασφαλείας και οι άνθρωποι που θα κάνουν αντίγραφα ασφαλείας. Ισχύει για τη δημιουργία αντιγράφων ασφαλείας τόσο των δεδομένων σας όσο και της εργασίας σας. Είμαι βέβαιος ότι όλοι οι φίλοι μου έχουν χάσει κάποιο μέρος της δουλειάς τους, είτε ήταν κώδικας, ένα κεφάλαιο μιας μεταπτυχιακής διατριβής ή ένα σχεδόν τελειωμένο άρθρο. Έχει συμβεί και σε μένα.
Ευτυχώς, υπάρχει μια καλή λύση για τη δημιουργία αντιγράφων ασφαλείας της εργασίας κωδικοποίησης: συστήματα ελέγχου εκδόσεων όπως το GIT, το SVN και το TFS. Μπορείτε να διαβάσετε περισσότερα σχετικά με τη χρήση του Git σε ΜΙΑ ΑΠΟ ΤΙΣ ΝΕΟΤΕΡΕΣ ΑΝΑΡΤΗΣΕΙΣ ΙΣΤΟΛΟΓΙΟΥ ΜΑΣ .
6. Over Complicating
Μπορείτε εύκολα να καταλάβετε εάν διαβάζετε τον κώδικα ενός αρχαρίου—όχι επειδή θα είναι τόσο απλός, αλλά, αντίθετα, συχνά θα είναι υπερβολικά σχεδιασμένος . Οι αρχάριοι προγραμματιστές καταβάλλουν μεγάλη προσπάθεια για να κάνουν τον κώδικά τους να λειτουργεί καθόλου, επομένως σπάνια προσπαθούν να τον κάνουν κομψό ταυτόχρονα. Στις περισσότερες περιπτώσεις, είναι απλώς μια παρενέργεια της μικρής εμπειρίας, αλλά μερικές φορές οι κατώτεροι κωδικοποιητές θέλουν να εντυπωσιάσουν άλλους με την πολυπλοκότητα της δουλειάς τους. Δυστυχώς, ένας τέτοιος φαινομενικά εξελιγμένος κώδικας θα εξαφανίσει την έλλειψη τεχνογνωσίας του συγγραφέα. Υπάρχει μια αρχή που ονομάζεται KISS που προέρχεται από τη μηχανική, αλλά είναι αρκετά δημοφιλής στη βιομηχανία προγραμματισμού. Το ακρωνύμιο σημαίνει ” κρατήστε το απλό, ηλίθιο ” και λέει ότι η απλότητα είναι πλεονέκτημα(στην περίπτωσή μας όταν γράφουμε κώδικα).
Μερικές φορές ο υπερβολικά περίπλοκος κώδικας είναι αποτέλεσμα της γραφής χωρίς σχέδιο. Είναι ένα συνηθισμένο λάθος του προγραμματισμού των αρχαρίων, επειδή ο σχεδιασμός μιας καλής δομής για την εργασία σας δεν είναι εύκολη υπόθεση και συνοδεύεται από εμπειρία.
7. Τύψεις εξαιτίας του Googling for Solutions
Έχετε νιώσει ποτέ ένοχοι για το πώς να κάνετε κάτι στο Google ; Ίσως χρειαζόσασταν βοήθεια για τη σύνταξη μιας συγκεκριμένης συνάρτησης ή ίσως απλώς έπρεπε να υπενθυμίσετε στον εαυτό σας τη σύνταξη ενός σπάνια χρησιμοποιούμενου κομματιού κώδικα; Δεν πρέπει να αισθάνεστε άσχημα γιατί είναι μια πολύ κοινή πρακτική μεταξύ των επαγγελματιών προγραμματιστών. Είναι πιθανό ότι κάποιος είχε ήδη το ίδιο πρόβλημα με εσάς και έχει ήδη λυθεί—σας βοηθά να εξοικονομήσετε χρόνο.
Έχετε ακούσει ποτέ για το Stack Overflow ; Υπάρχουν εκατοντάδες χιλιάδες ερωτήσεις και πιθανώς εκατομμύρια απαντήσεις. Αυτός ο ιστότοπος και πολλοί παρόμοιοι έρχονται στη διάσωση όταν είστε κολλημένοι. Η χρήση της τεχνογνωσίας άλλων σάς βοηθά να ολοκληρώσετε τη δουλειά σας. Και δεν κολλάνε μόνο οι αρχάριοι – συμβαίνει σε όλους. Έχω δει κάθε έναν από τους φίλους μου που κωδικοποιούν να αναζητούν βοήθεια ή συμβουλές τουλάχιστον μία φορά. Για να μην αναφέρω πόσο συχνά το κάνω μόνος μου.
Φυσικά, εάν εργάζεστε σε ομάδα, μπορείτε να ζητήσετε βοήθεια από κάποιον προσωπικά, κάτι που μπορεί να είναι πολύ πιο αποτελεσματικό (και πιο γρήγορο) από το να διαβάζετε πολλές πιθανές λύσεις στο διαδίκτυο, ειδικά αν τα αγγλικά δεν είναι η μητρική σας γλώσσα. Εάν δεν υπάρχει κανένας που μπορείτε να ρωτήσετε, ρωτήστε τον θείο Google και θα σας βοηθήσει. Αλλά να θυμάστε ότι η αναζήτηση απαντήσεων δεν σημαίνει ότι κλέβετε τον κωδικό κάποιου άλλου. Από την άλλη, αποφύγετε την αντιγραφή και επικόλληση κώδικα που δεν καταλαβαίνετε, κάτι που είναι επίσης πολύ συνηθισμένο λάθος των junior coders.
8. Αντιγραφή κώδικα χωρίς κατανόηση
Έχετε πείσει τον εαυτό σας ότι η λήψη βοήθειας από τους διαθέσιμους πόρους στο Διαδίκτυο δεν είναι κακό και ανακαλύπτετε το πλήθος των απαντήσεων στο Stack Overflow. Κάποιος είχε ένα πολύ παρόμοιο πρόβλημα με εσάς και υπάρχει μια λειτουργική λύση σε αυτό. Δεν έχετε ιδέα τι κάνει αυτός ο κώδικας, αλλά άλλοι χρήστες είπαν ότι λειτουργεί, οπότε ας τον επικολλήσουμε στο έργο σας. Όχι περίμενε. Δεν είναι καλή ιδέα. Εάν δεν καταλαβαίνετε πώς λειτουργεί το κομμάτι κώδικα, αποφύγετε να το επικολλήσετε στο έργο σας , ιδιαίτερα ΑΠΟΦΥΓΕΤΕ ΤΗ ΔΕΣΜΕΥΣΗ ΤΟΥ ΣΕ ΕΝΑ ΛΕΙΤΟΥΡΓΙΚΟ ΑΠΟΘΕΤΗΡΙΟ χωρίς να το κάνετε διπλό έλεγχο μόνοι σας και χωρίς έλεγχο κώδικα. Ακόμα κι αν λύσει το πρόβλημά σας, μπορεί να προκαλέσει σφάλματα σε άλλα σημεία της εφαρμογής σας. Εάν δεν είστε σίγουροι, ζητήστε διευκρίνιση από τον συγγραφέα του κώδικα ή μιλήστε με τους πιο έμπειρους συναδέλφους σας για να δείτε εάν αυτή η λύση είναι η σωστή.
Ετικέτα:myacademy, αρχάριος, προγραμματισμός