Επιταχύνετε τη διαδικασία ανάπτυξής σας κωδικοποιώντας με ενσυναίσθηση

Συγγραφέας: Monica Porter
Ημερομηνία Δημιουργίας: 21 Μάρτιος 2021
Ημερομηνία Ενημέρωσης: 17 Ενδέχεται 2024
Anonim
Επιταχύνετε τη διαδικασία ανάπτυξής σας κωδικοποιώντας με ενσυναίσθηση - Δημιουργικός
Επιταχύνετε τη διαδικασία ανάπτυξής σας κωδικοποιώντας με ενσυναίσθηση - Δημιουργικός

Περιεχόμενο

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

Η δυσκολία μας να φανταστούμε πώς είναι να είμαστε άλλο άτομο και να συμπαθητούμε μαζί τους, έχει να κάνει με το πόσο κοινόχρηστο περιεχόμενο. Ως προγραμματιστής frontend, είναι πολύ πιο εύκολο για μένα να κατανοήσω με κάποιον που αγωνίζεται με πρότυπα ηλεκτρονικού ταχυδρομείου από ό, τι να συμπαθητώ με κάποιον που αγωνίζεται με το multithreading. Έχω πολλά περισσότερα σημεία αναφοράς, ένα πλαίσιο που επικαλύπτεται περισσότερο με το πρώτο άτομο παρά με το δεύτερο.


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

Οι οποίοι?

Ως προγραμματιστές, πρέπει να έχουμε ενσυναίσθηση με αυτά τα πρότυπα δημιουργίας email και εκείνα τα multithreading στην Java, αλλά με ποιον άλλο θα πρέπει να έχουμε ενσυναίσθηση; Πρέπει να συμπαραστούμε με εκείνους που επηρεάζονται από τον κώδικα που παράγουμε. Αυτά τα άτομα μπορούν να χωριστούν σε τρεις ομάδες: οι συμπαίκτες μας, οι καταναλωτές κώδικα και οι τελικοί χρήστες μας.

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


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

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


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

Γιατί;

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

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

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

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

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

Πως?

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

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

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

Ως προγραμματιστές, οι διεπαφές κυβερνούν τα πάντα, και εμείς είμαστε και οι άνθρωποι.

Λόγια: Amanda Glosson

Η Amanda Glosson είναι πρωτοπόρος μηχανικός στο Salesforce που αφιερώνει μεγάλο μέρος του χρόνου της ονειρεμένος νέους τρόπους για να ωθήσει τα pixel στις οθόνες. Αυτό το άρθρο δημοσιεύθηκε αρχικά στο τεύχος 271 του net περιοδικού.

Σας άρεσε αυτό; Διαβάστε αυτά!

  • Πώς να επιβιώσετε όλες τις νύχτες κωδικοποίησης συνεδρίες
  • Πώς να δημιουργήσετε μια εφαρμογή: δοκιμάστε αυτά τα υπέροχα μαθήματα
  • Διατίθεται δωρεάν λογισμικό γραφιστικής τώρα!
Περισσότερες Λεπτομέρειες
Διαγωνισμός εξώφυλλου Computer Arts: αποκάλυψε την τελική λίστα των 10
Ανάγνωση

Διαγωνισμός εξώφυλλου Computer Arts: αποκάλυψε την τελική λίστα των 10

Τον περασμένο μήνα, η Computer Art συνεργάστηκε με το D&AD New Blood για να προσφέρει μια μοναδική ευκαιρία να σχεδιάσει το εξώφυλλο για την επερχόμενη ειδική μας New Talent.Πριν από δύο εβδομάδες...
Πώς να βάψετε ένα περίπλοκο περιβάλλον πόλης
Ανάγνωση

Πώς να βάψετε ένα περίπλοκο περιβάλλον πόλης

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

Συμβουλές διαχείρισης χρόνου: Πώς να βελτιώσετε τη ροή εργασίας σας

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