Γιατί (και πώς) γράφω κώδικα με μολύβι και χαρτί PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Γιατί (και πώς) γράφω κώδικα με μολύβι και χαρτί

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

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

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

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

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

Γιατί να το γράψετε;

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

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

Ο κόπος της προσπάθειας να καταλάβω πώς να επηρεάσετε τα γύρω αντικείμενα με ένα κλικ (από το my τελευταίο άρθρο)

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

Ας δούμε πού μπορούμε να ξεκινήσουμε όσον αφορά τον χειρόγραφο κώδικα.

Μάθετε την ερώτησή σας

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

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

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

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

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

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

Το να γράψετε ή να σχεδιάσετε τι θέλετε να εξάγετε είναι ένας από τους καλύτερους τρόπους για να ξεκινήσετε την κωδικοποίησή σας. Κατανοώ ότι στον γρήγορο κλάδο μας, η προσδοκία είναι ότι πρέπει να μπούμε κατευθείαν στον προγραμματισμό εκτελώντας ένα demo "hello world". Και αυτό είναι υπέροχο για να εξοικειωθείτε με μια άγνωστη σύνταξη και να διώξετε την αγωνία σας να δοκιμάσετε κάτι νέο.

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

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

Περιγράψτε τον κωδικό σας

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

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

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

  1. Διεπαφή χρήστη για τη λήψη υπογραφής — Καμβάς HTML; WebGL;
  2. Απενεργοποιήστε τα συμβάντα δείκτη στην υπόλοιπη ιστοσελίδα όταν ο χρήστης υπογράφει
  3. Μετατρέψτε και αποθηκεύστε την εικόνα που τραβήξατε σε αρχείο PNG — JS
  4. Στη συνέχεια, μετατρέψτε το σε blob (ίσως) και αποθηκεύστε το στον πίνακα δεδομένων καταγραφής επισκεπτών.

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

Συνιστώ ανεπιφύλακτα την περιγραφή κώδικα για έργα πελατών. Γράψτε το περίγραμμα μαζί με τις απαιτήσεις χρήστη σας ή στο πίσω μέρος των καλωδίων που έχετε εκτυπώσει.

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

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

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

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

Longhand εναντίον στενογραφίας

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

Ώρα να ξεκινήσετε την κωδικοποίηση. Λοιπόν, τι γράφεις; "Bdrs" ή "border-radius" "div -> p"Ή"<div><p></div></p>" "pl()"Ή"println()" "q()"Ή"querySelector()";

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

Είναι πραγματικά στο χέρι σας.

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

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

Ξεχνώ τις συντακτικές διαρκώς. Για παράδειγμα, χρησιμοποιώ τον συμβολισμό βέλους για συναρτήσεις JavaScript από τότε που εισήχθη (επειδή είναι πιο σύντομος) και είμαι σίγουρος ότι κάποιος μου ζητήσει ξαφνικά να ορίσω μια συνάρτηση χρησιμοποιώντας το function λέξη-κλειδί, μπορεί ακόμη και να τοποθετήσω λάθος τις παρενθέσεις ή το όνομα της συνάρτησης, προκαλώντας ένα συντακτικό σφάλμα.

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

Η μη διαδοχική ροή κώδικα

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

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

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

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

  1. Λάβετε τη συμβολή.
  2. Υπολογίστε τον αριθμό Fibonacci.
  3. Συνοψίστε το αποτέλεσμα.
  4. Εκτυπώστε το αποτέλεσμα.

Όλα τα βήματα σε αυτό το περίγραμμα είναι απαραίτητα. Ωστόσο, τα 1, 3 και 4 είναι πιο υποχρεωτικά. Είναι απαραίτητα αλλά όχι αρκετά σημαντικά για να εστιάσουμε αμέσως.

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

Αφιερώστε το χρόνο σας γράφοντας κώδικα που εστιάζει στην καρδιά του προβλήματος.

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

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

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

Ψευδοκώδικας

Ο Κρις έχει ήδη γράψει ένα εύχρηστο άρθρο για ψευδοκώδικα που σας συνιστώ ανεπιφύλακτα να διαβάσετε καλά.

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

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

Ακολουθεί ένας γρήγορος ψευδοκώδικας για μια διάταξη πλέγματος CSS:

Grid
5 60px rows
6 100px columns

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

Χώρος και σχόλια

Πιστεύω ότι ο κώδικας είναι 90% λέξεις-κλειδιά και 10% καρτέλες. Χωρίς διαστήματα η αναγνωσιμότητα των λέξεων μειώνεται. Οι εσοχές είναι απαραίτητες και για χειρόγραφο κώδικα. Ωστόσο, μην το χρησιμοποιείτε για κάθε επίπεδο γιατί το πλάτος του χαρτιού θα σας περιορίσει. Χρησιμοποιήστε τους χώρους με σύνεση, αλλά χρησιμοποιήστε τους.

Κίτρινο χαρτί χωρίς επένδυση με κωδικό χειρόγραφο με γράμματα με μαύρο μελάνι.
Βραβευμένο απόσπασμα OG, γραμμένο με επιπλέον TLC

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

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

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

Αναλογικό έναντι ψηφιακού

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

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

Δεν είμαι και πολύ ψηφιακός πολίτης (εκτός από το να εργάζομαι στον Ιστό και να μετατρέπομαι πρόσφατα σε ανάγνωση ηλεκτρονικών βιβλίων), επομένως παραμένω στα φυσικά σημειωματάρια.

Τα αγαπημένα μου εργαλεία για χειρόγραφο κώδικα

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

Δεν υπάρχει τρόπος «εγγραφής» κωδικοποίησης

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

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

  1. Ξεκινήστε γράφοντας (με δείγματα δεδομένων, εάν χρειάζεται) την έξοδο του κώδικά σας.
  2. Γράψτε ένα περίγραμμα για τον κώδικα. Παρακαλώ κρατήστε το σε τρία βήματα για μικρά έργα ή έργα που είναι λιγότερο περίπλοκα.
  3. Χρησιμοποιήστε μακροχρόνιες σημειώσεις. Οι προγραμματιστές που γράφουν μόνοι τους μπορούν να χρησιμοποιήσουν συντομογραφίες, αρκεί η γραφή να είναι ευανάγνωστη και να έχει νόημα για εσάς όταν αναφέρεστε σε αυτήν αργότερα.
  4. Όταν βρίσκεστε υπό χρονικό περιορισμό, σκεφτείτε να γράψετε πρώτα τον κώδικα που αντιμετωπίζει την καρδιά του προβλήματος. Αργότερα, σημειώστε μια κλήση σε αυτόν τον κωδικό στη σωστή θέση στον διαδοχικό σας κωδικό.
  5. Εάν αισθάνεστε σίγουροι, δοκιμάστε να γράψετε ψευδοκώδικα που να απευθύνεται στην κύρια ιδέα.
  6. Χρησιμοποιήστε τις κατάλληλες εσοχές και κενά — και να προσέχετε το πλάτος του χαρτιού.

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

Σφραγίδα ώρας:

Περισσότερα από Κόλπα CSS