
Το να είσαι προγραμματιστής JavaScript είναι ωραίο γιατί η ανάγκη για καλούς προγραμματιστές JS αυξάνεται συνεχώς στην αγορά εργασίας. Σήμερα, υπάρχουν πολλά πλαίσια, βιβλιοθήκες και άλλα πράγματα που μπορούν να χρησιμοποιηθούν στην εργασία - και σε μεγάλο βαθμό θα πρέπει να είμαστε ευγνώμονες στις πηγές ανοιχτού κώδικα για αυτό. Αλλά σε κάποιο σημείο, ένας προγραμματιστής αρχίζει να αφιερώνει πολύ χρόνο σε έργα JS σε σύγκριση με όλες τις άλλες εργασίες.
Είναι πολύ πιθανό αυτό να οδηγήσει σε καταστροφικές συνέπειες για την καριέρα σας στο μέλλον, αλλά δεν το έχετε συνειδητοποιήσει ακόμα. Ο ίδιος έχω κάνει κάποια από τα λάθη που περιγράφονται παρακάτω στο παρελθόν και τώρα θέλω να σας προστατέψω από αυτά. Ακολουθούν οκτώ λάθη προγραμματιστών JS που θα μπορούσαν να κάνουν το μέλλον σας λιγότερο από φωτεινό.
Υπενθύμιση: για όλους τους αναγνώστες του "Habr" - έκπτωση 10 ρούβλια κατά την εγγραφή σε οποιοδήποτε μάθημα Skillbox χρησιμοποιώντας τον κωδικό προσφοράς "Habr".
Το Skillbox προτείνει: Εκπαιδευτικό διαδικτυακό μάθημα .
Χρήση jQuery
Το jQuery έχει παίξει τεράστιο ρόλο στην ανάπτυξη ολόκληρου του οικοσυστήματος JavaScript. Αρχικά, το JS χρησιμοποιήθηκε για τη δημιουργία slideshows και διαφόρων ειδών widget, γκαλερί εικόνων για ιστότοπους. Το jQuery κατέστησε δυνατό να ξεχάσουμε προβλήματα με τη συμβατότητα κώδικα σε διαφορετικά προγράμματα περιήγησης, τυποποιώντας τη χρήση των επιπέδων αφαίρεσης και εργασίας με το DOM. Με τη σειρά του, αυτό βοήθησε στην απλοποίηση του AJAX και των προβλημάτων με διαφορές μεταξύ των προγραμμάτων περιήγησης.
Ωστόσο, σήμερα αυτά τα προβλήματα δεν είναι τόσο επίκαιρα όσο πριν. Τα περισσότερα από αυτά επιλύθηκαν μέσω τυποποίησης - για παράδειγμα, αυτό αφορά τους επιλογείς ανάκτησης και API.
Τα υπόλοιπα προβλήματα επιλύονται από άλλες βιβλιοθήκες όπως η React. Οι βιβλιοθήκες παρέχουν πολλές άλλες δυνατότητες που δεν παρέχει το jQuery.
Όταν εργάζεστε με το jQuery, κάποια στιγμή αρχίζετε να κάνετε περίεργα πράγματα, όπως να χρησιμοποιείτε στοιχεία DOM ως τρέχουσες καταστάσεις ή δεδομένα και να γράφετε τρομερά πολύπλοκο κώδικα μόνο για να καταλάβετε τι συμβαίνει με την προηγούμενη, την τρέχουσα και τη μελλοντική κατάσταση του DOM, επιπλέον για τη διασφάλιση της σωστής μετάβασης στα επερχόμενα κράτη.
Δεν υπάρχει τίποτα ενάντια στη χρήση του jQuery, αλλά αφιερώστε χρόνο για να μάθετε περισσότερα για τις πιο σύγχρονες εναλλακτικές λύσεις—React, Vue και Angular—και τα πλεονεκτήματά τους.
Αποφυγή δοκιμών μονάδας
Συχνά βλέπω ανθρώπους να αγνοούν τις δοκιμές μονάδων για τις εφαρμογές web τους. Όλα πάνε υπέροχα μέχρι να διακοπεί η εφαρμογή με ένα "απροσδόκητο σφάλμα". Και αυτή τη στιγμή έχουμε τεράστιο πρόβλημα γιατί χάνουμε χρόνο και χρήμα.
Ναι, εάν μια εφαρμογή μεταγλωττίζεται κανονικά χωρίς να παράγει σφάλματα, και όταν μεταγλωττιστεί λειτουργεί, αυτό δεν σημαίνει ότι είναι έτοιμη για χρήση.
Η έλλειψη δοκιμών είναι ακόμη περισσότερο ή λιγότερο αποδεκτή για μικρές εφαρμογές. Αλλά όταν τα προγράμματα είναι μεγάλα και πολύπλοκα, είναι δύσκολο να διατηρηθούν. Επομένως, οι δοκιμές γίνονται ένα εξαιρετικά σημαντικό στοιχείο ανάπτυξης. Με αυτόν τον τρόπο, η αλλαγή ενός στοιχείου εφαρμογής δεν θα σπάσει ένα άλλο.
Ξεκινήστε να χρησιμοποιείτε .
Πλαίσια μάθησης πριν από τη JavaScript
Κατανοώ απόλυτα εκείνους που, όταν ξεκινούν να αναπτύσσουν μια διαδικτυακή εφαρμογή, αρχίζουν αμέσως να χρησιμοποιούν δημοφιλείς βιβλιοθήκες και πλαίσια όπως React, Vue ή Angular.
Έλεγα ότι πρέπει πρώτα να μάθεις JavaScript και μετά τα πλαίσια, αλλά τώρα είμαι πεπεισμένος ότι πρέπει να τα κάνεις όλα ταυτόχρονα. Το JS αλλάζει εξαιρετικά γρήγορα, επομένως πρέπει να αποκτήσετε λίγη εμπειρία χρησιμοποιώντας το React, το Vue ή το Angular ταυτόχρονα με την εκμάθηση JavaScript.
Αυτό αρχίζει να επηρεάζει τις απαιτήσεις που τίθενται στους υποψηφίους για τη θέση του προγραμματιστή. Για παράδειγμα, αυτό βρήκα όταν έψαξα για "JavaScript" στο Indeed.

Η περιγραφή εργασίας λέει ότι χρειάζονται γνώση jQuery ΚΑΙ JavaScript. Εκείνοι. Για αυτήν την εταιρεία, και τα δύο στοιχεία είναι εξίσου σημαντικά.
Ακολουθεί μια άλλη περιγραφή που παραθέτει μόνο τις «βασικές» απαιτήσεις:

Και αυτό συμβαίνει στις μισές περίπου κενές θέσεις που εξέτασα. Ωστόσο, πιστεύω ότι η σωστή αναλογία χρόνου για την εκμάθηση JS και πλαισίων είναι περίπου 65% έως 35%, όχι 50 προς 50.
Απροθυμία εξοικείωσης με την έννοια του «καθαρού κώδικα»
Κάθε επίδοξος προγραμματιστής πρέπει να μάθει να δημιουργεί καθαρό κώδικα εάν θέλει να γίνει επαγγελματίας. Αξίζει να εξοικειωθείτε με την έννοια του «καθαρού κώδικα» στην αρχή της καριέρας σας. Όσο πιο γρήγορα αρχίσετε να ακολουθείτε αυτήν την ιδέα, τόσο πιο γρήγορα θα συνηθίσετε να γράφετε καθαρό κώδικα που είναι εύκολο να διατηρηθεί αργότερα.
Παρεμπιπτόντως, για να κατανοήσετε τα οφέλη του καλού και καθαρού κώδικα, δεν χρειάζεται να προσπαθήσετε μόνοι σας να γράψετε κακό κώδικα. Οι δεξιότητές σας θα σας φανούν χρήσιμες αργότερα, στη δουλειά, όταν τρομοκρατηθείτε από τον κακό κώδικα κάποιου άλλου.
Έναρξη εργασίας σε μεγάλα έργα πολύ νωρίς

Στις αρχές της καριέρας μου, έκανα ένα μεγάλο λάθος: προσπάθησα να αναλάβω ένα μεγάλο έργο όταν δεν ήμουν ακόμη έτοιμος για αυτό.
Μπορείτε να ρωτήσετε τι συμβαίνει εδώ. Υπάρχει απάντηση. Το γεγονός είναι ότι αν δεν είστε μεσαίος ή ανώτερος, τότε πιθανότατα δεν θα μπορέσετε να ολοκληρώσετε το "μεγάλο έργο" σας. Θα υπάρχουν πάρα πολλά στοιχεία και πράγματα που πρέπει να λάβετε υπόψη. Και δεν θα μπορέσετε να αντεπεξέλθετε εάν, στην αρχή της καριέρας σας, δεν έχετε αναπτύξει τη συνήθεια να γράφετε «καθαρό κώδικα», χρησιμοποιώντας τεστ, κλιμακούμενη αρχιτεκτονική κ.λπ.
Ας υποθέσουμε ότι αφιερώσατε πολύ χρόνο σε αυτό το έργο, δεν το ολοκληρώσατε και τώρα προσπαθείτε να προχωρήσετε στο μεσαίο επίπεδο. Και ξαφνικά συνειδητοποιείς ότι δεν μπορείς να δείξεις αυτόν τον κωδικό σε κανέναν γιατί δεν είναι πολύ καλός και χρειάζεται ανακατασκευή. Ωστόσο, αφιερώσατε πολύ χρόνο σε αυτό το «έργο του αιώνα» και τώρα δεν έχετε παραδείγματα καλής δουλειάς να προσθέσετε στο χαρτοφυλάκιό σας. Και χάνεις τη μία συνέντευξη μετά την άλλη από εκείνους τους υποψηφίους που μπορούν να δείξουν τη δουλειά τους, αν και όχι πολύ μεγάλη, σε ένα χαρτοφυλάκιο.
Σε κάθε περίπτωση, στο μέλλον θα πρέπει να κάνετε refactor, καθώς ο κώδικας δεν είναι πολύ καλός και οι τεχνολογίες που χρησιμοποιήσατε δεν είναι ακριβώς αυτό που χρειάζεστε. Ως αποτέλεσμα, συνειδητοποιείς ότι είναι πιο εύκολο να ξαναγράψεις τα πάντα από την αρχή παρά να προσπαθήσεις να τα διορθώσεις.
Φυσικά, όλα αυτά μπορούν να προστεθούν στο χαρτοφυλάκιό σας, αλλά ένας πιθανός εργοδότης θα δει πολλές ελλείψεις εκεί και θα καταλήξει σε συμπεράσματα που είναι απογοητευτικά για εσάς.
Απροθυμία να μάθουν δομές δεδομένων και αλγόριθμους
Μπορείτε να διαφωνήσετε για μεγάλο χρονικό διάστημα σχετικά με το πότε θα πρέπει να αρχίσετε να μελετάτε τη δομή δεδομένων και τους αλγόριθμους. Μερικοί προτείνουν να το κάνετε αυτό πριν κατακτήσετε το JavaScript, άλλοι μετά.
Πιστεύω ότι δεν είναι απαραίτητο να το μάθουμε αυτό λεπτομερώς στην αρχή, αλλά αξίζει να κατανοήσουμε τους αλγόριθμους, καθώς αυτό θα δώσει μια βασική κατανόηση της εργασίας των προγραμμάτων υπολογιστών και των υπολογισμών.
Οι αλγόριθμοι αποτελούν αναπόσπαστο μέρος οποιωνδήποτε υπολογισμών και προγραμμάτων. Στην πραγματικότητα, τα ίδια τα προγράμματα υπολογιστών είναι ένας συνδυασμός ενός συνόλου αλγορίθμων και δεδομένων δομημένων με συγκεκριμένο τρόπο, αυτό είναι όλο.
Άρνηση σωματικής δραστηριότητας

Είναι πολύ σημαντικό για έναν προγραμματιστή να αθλείται. Δεν είμαι προπονητής, αλλά έχω παρακολουθήσει το σώμα μου να αλλάζει χρόνο με τον χρόνο. Επομένως, μπορώ να σας πω σε τι οδηγεί η έλλειψη σωματικής άσκησης.
Η πρώτη μου δουλειά ήταν αρκετά προβληματική για διάφορους λόγους, και ένα από τα προβλήματα ήταν ότι σε μόλις ένα χρόνο πήρα σχεδόν δύο δωδεκάδες κιλά. Στη συνέχεια μελέτησα ενεργά JavaScript.
Εάν δεν ασκείστε, κινδυνεύετε να πάρετε βάρος και αυτό θα έχει πολλές αρνητικές συνέπειες: παχυσαρκία, ημικρανίες (συμπεριλαμβανομένων των χρόνιων), υψηλή αρτηριακή πίεση κ.λπ. Ο κατάλογος των προβλημάτων είναι πραγματικά ατελείωτος.
Κοινωνική αυτοαπομόνωση

Η οικογένεια και τα αγαπημένα πρόσωπα είναι σημαντικά. Βυθίζοντας τον εαυτό σας στην εκμάθηση JavaScript και υποτιμώντας τη σημασία της ψυχικής και συναισθηματικής σας ζωής, διατρέχετε τον κίνδυνο να πάθετε κατάθλιψη, να γίνετε ευερέθιστοι, να μην κοιμάστε καλά και πολλά άλλα.
Ευρήματα
Ελπίζω κάποια από αυτά να είναι χρήσιμα σε εσάς. Αν φροντίσεις τον εαυτό σου σήμερα, δεν θα χρειαστεί να διορθώσεις λάθη αργότερα.
Το Skillbox προτείνει:
- Πρακτικό μάθημα .
- Εφαρμοσμένο διαδικτυακό μάθημα .
- Πρακτικό μάθημα δύο ετών .
Πηγή: www.habr.com
