Πώς να χρησιμοποιήσετε τα σήματα GitHub για να σταματήσετε να αισθάνεστε σαν noob

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

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

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

Τώρα, όντας ο Νομπ που ήμουν, σκέφτηκα ότι ήταν απλώς μια εικόνα που ο Linus Torvalds σας έδωσε σε μια μονάδα flash όταν αποφοιτήσατε από το σχολείο "Real Developer". Ποτέ δεν μου άρεσε να κάνω κλικ. Νόμιζα ότι ήταν μια στατική εικόνα που φιλοξενήθηκε κάπου στο αποθετήριο. Αργότερα, σκόνταψα σε ένα έργο που έδειχνε ότι η κατασκευή απέτυχε.

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

[![Build Status](//travis-ci.com/username/projectname.svg?branch=master)](//travis-ci.com/username/projectname)

Ήμουν αρκετά καταλαβαίνω με το markdown για να αναγνωρίσω ότι αυτός ήταν ένας σύνδεσμος με δυνατότητα κλικ. Έτσι έκανα κλικ στο κουμπί και με πήρε στο Travis-CI. Όλα μαζί μου είχε νόημα. Αυτό το κουμπί δεν ενημερώθηκε από τον προγραμματιστή του έργου, ο Travis-CI το ενημέρωσε. Είναι ένα δυναμικό κουμπί.

Το πρώτο μου σήμα

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

Έτσι, έστησα το Travis-CI για να εκτελέσω τις δοκιμές μονάδας μου όταν έκανα αλλαγές στο GitHub. Ακριβώς στην κορυφή της σελίδας όπου το τρέχει ο Travis-CI, υπάρχει το σήμα. Έκανα κλικ και πήρα το markdown. Το πρόσθεσα στο README μου. Πήγα στη σελίδα του έργου στο GitHub και το VOILA! Υπήρχε το πρώτο μου σήμα. Ήμουν δεμένος!

Το κυνήγι

Μου άρεσε που το σήμα ήταν ένα σαφές σημάδι της τρέχουσας κατάστασης του έργου μου. Ήθελα να μάθω περισσότερα, γι 'αυτό πήγα στο κυνήγι για άλλα σήματα. Ένα άλλο κοινό σήμα που βρήκα ήταν η κάλυψη κώδικα. Η έκθεση κάλυψης θα μπορούσε να σταλεί από τον Travis-CI σε ένα εργαλείο που ονομάζεται CodeCov. Θα μπορούσατε να λάβετε ένα σήμα που να δείχνει την κάλυψη των δοκιμών σας, το οποίο σχετίζεται με το πόσο καλά δοκιμάζεται η εφαρμογή σας.

Βρήκα επίσης σήματα άδειας χρήσης και ήταν λογικό να έχω σήμα άδειας χρήσης αν είχα άδεια. Γι 'αυτό επέλεξα μια άδεια και την πρόσθεσα στο repo. Η λήψη του σήματος για αυτό χρειάστηκε μια γρήγορη Αναζήτηση Google και βρήκα αυτήν την ουσία με όλα τα κοινά σήματα άδειας.

Προερχόμενος από ένα υπόβαθρο ασφαλείας στον στρατό, γνωρίζω ότι οι περισσότερες ευπάθειες προέρχονται από παρωχημένο λογισμικό. Ως νέος προγραμματιστής, ξέρω ότι ισχύει και για λογισμικό από το οποίο εξαρτάται το λογισμικό σας. Άκουσα για το PyUp μέσω του podcast του Michael Kennedy's Talk Python to Me . Όταν περιήγησα στον ιστότοπο, είδα τις λέξεις που άρχισα να λατρεύω να βλέπω, "Δωρεάν για ανοιχτό κώδικα". Όντας στο κυνήγι για νέα σήματα, ήμουν στην τύχη. Σίγουρα, παρέχουν ένα σήμα, οπότε φυσικά το προσθέτω στο README.

Τέλος, ανακάλυψα ότι θα μπορούσατε να έχετε ένα σήμα για στυλ. Είχα χάσει το παρελθόν με τον Μαύρο και βρήκα ένα παράδειγμα του σήματος στυλ και ήξερα ότι έπρεπε να το έχω. Για τη δική μου ακεραιότητα, ήθελα να διασφαλίσω ότι ο κώδικάς μου ήταν πάντα συμβατός με το στυλ του Black. Ανακάλυψα σχετικά με το pre-commit, το οποίο θα μπορούσα να χρησιμοποιήσω για να μορφοποιήσω τον κώδικά μου πριν καν το κάνω. Μετά την κατάδυση της προ-δεσμευμένης τρύπας κουνελιού (η οποία τρέχει επίσης τον κωδικό μου ενάντια στον ληστή για ασφάλεια και ταξινομεί τις εισαγωγές και τις απαιτήσεις μου), ένιωσα σίγουρος να προσθέσω το μαύρο σήμα στο README μου.

Το τελικό αποτέλεσμα

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

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

Για να το θέσω απλά, νιώθω καλύτερα για τον κωδικό μου, επειδή έχω αυτά τα σήματα GitHub.