Το Facebook κάνει ζευγάρι προγραμματισμό
Το Facebook κάνει ζευγάρι προγραμματισμό
Περίληψη:
Σε αυτό το άρθρο, θα συζητήσω την έννοια του προγραμματισμού ζευγαριών και της σωστής εφαρμογής του. Θα απαντήσω επίσης σε 15 μοναδικές ερωτήσεις σχετικά με τον προγραμματισμό ζευγαριών, παρέχοντας λεπτομερείς εξηγήσεις με βάση την προσωπική εμπειρία. Ο προγραμματισμός των ζευγαριών δεν αφορά την κατάρτιση, αλλά μια συνεργατική προσέγγιση όπου τα ανώτερα ζευγάρια με το Senior και το Junior Pair με το Junior. Ο αποτελεσματικός προγραμματισμός ζεύγους μπορεί να οδηγήσει σε βελτιωμένη ποιότητα επικοινωνίας και κώδικα.
Βασικά σημεία:
- Ο προγραμματισμός ζευγαριών δεν αφορά την εκπαίδευση αλλά μια προσέγγιση συνεργασίας.
- Συνδέστε τους ανώτερους προγραμματιστές με ανώτερους προγραμματιστές και κατώτερους προγραμματιστές με κατώτερους προγραμματιστές.
- Η αποτελεσματική σύζευξη μπορεί ακόμα να εμφανιστεί μεταξύ ενός ανώτερου και κατώτερου προγραμματιστή.
- Η σύζευξη με έναν ασκούμενο μπορεί να οδηγήσει σε πολύτιμες μαθησιακές εμπειρίες και για τα δύο μέρη.
- Η εστίαση της διαχείρισης στην παραγωγικότητα μπορεί να δημιουργήσει προκλήσεις στον προγραμματισμό ζευγαριών.
- Ο προγραμματισμός ζευγαριών θα πρέπει να αισθάνεται σαν να είναι συν-πιλότος, όχι ελεγκτής εναέριας κυκλοφορίας.
- Ο προγραμματισμός ζεύγους δεν είναι ισοδύναμο με την καθοδήγηση.
- Η σύζευξη επιτρέπει την άμεση ανατροφοδότηση και βοηθά στον εντοπισμό υπερβολικά σύνθετου κώδικα.
- Η αποτελεσματική επικοινωνία κατά τη διάρκεια του προγραμματισμού των ζευγαριών είναι σημαντική.
- Ο φόρτος εργασίας πρέπει να μοιράζεται και οι δύο προγραμματιστές πρέπει να συνεισφέρουν.
- Οι πλευρικές συνομιλίες κατά τη διάρκεια των συνεδριών ζευγαρώματος μπορεί να αποσπούν την προσοχή.
- Δεν είναι όλα τα προβλήματα που απαιτούν προγραμματισμό ζευγαριών και μπορεί να χρειαστεί ατομική εργασία.
- Ο προγραμματισμός ζεύγους μπορεί να διαρκέσει περισσότερο, αλλά παρέχει άμεση αναθεώρηση και συνεργασία από ομοτίμους.
- Οι κατώτεροι προγραμματιστές μπορούν ακόμα να μάθουν μέσω του προγραμματισμού ζευγαριών, αλλά απαιτεί προσπάθεια και αποτελεσματική επικοινωνία.
- Η αμφισβήτηση και ο πειραματισμός είναι απαραίτητα για τον αποτελεσματικό προγραμματισμό ζευγαριών.
Ερωτήσεις:
1. Τι είναι ο προγραμματισμός ζευγαριών?
Ο προγραμματισμός ζευγαριών είναι μια συνεργατική προσέγγιση όπου δύο προγραμματιστές συνεργάζονται με την ίδια εργασία.
2. Σε περίπτωση που οι ανώτεροι προγραμματιστές ζευγαρώνουν με ανώτερους προγραμματιστές και κατώτερους προγραμματιστές με κατώτερους προγραμματιστές?
Ναι, ο συνδυασμός ανώτερων προγραμματιστών με ανώτερους προγραμματιστές και κατώτερους προγραμματιστές με κατώτερους προγραμματιστές εξασφαλίζει αποτελεσματική συνεργασία.
3. Μπορεί ένα ανώτερο ζευγάρι προγραμματιστή με κατώτερο προγραμματιστή?
Ναι, αν και δεν είναι ιδανικό για εκπαιδευτικούς σκοπούς, μπορεί να συμβεί αποτελεσματική σύζευξη μεταξύ ενός ανώτερου και κατώτερου προγραμματιστή.
4. Πώς μπορεί να είναι επωφελής η σύζευξη με έναν εσωτερικό?
Η σύζευξη με έναν ασκούμενο μπορεί να προσφέρει πολύτιμες μαθησιακές εμπειρίες και για τα δύο μέρη.
5. Ποιες προκλήσεις μπορούν να προκύψουν στον προγραμματισμό ζευγαριών?
Η εστίαση της διαχείρισης στην παραγωγικότητα μπορεί να δημιουργήσει προκλήσεις και άγχος στον προγραμματισμό ζευγαριών.
6. Πώς πρέπει να αισθάνεται ο προγραμματισμός?
Ο προγραμματισμός ζευγαριών θα πρέπει να αισθάνεται σαν να είναι συν-πιλότος και όχι ελεγκτής εναέριας κυκλοφορίας.
7. Είναι ο προγραμματισμός ζευγαριών ισοδύναμο με την καθοδήγηση?
Όχι, ο προγραμματισμός ζευγαριών δεν είναι ισοδύναμο με την καθοδήγηση. Είναι μια συνεργατική προσέγγιση μεταξύ ίσων.
8. Ποια είναι τα πλεονεκτήματα του προγραμματισμού ζευγαριών?
Ο προγραμματισμός ζεύγους επιτρέπει την άμεση ανατροφοδότηση, βοηθά στον εντοπισμό σύνθετου κώδικα και βελτιώνει την επικοινωνία.
9. Τι είδους επικοινωνία είναι σημαντικός στον προγραμματισμό ζευγαριών?
Η αποτελεσματική επικοινωνία, τόσο λεκτική όσο και μέσω κώδικα, είναι απαραίτητη στον προγραμματισμό ζευγαριών.
10. Σε περίπτωση που ένας προγραμματιστής κυριαρχήσει στη συνεδρία ζεύγους?
Όχι, ο φόρτος εργασίας πρέπει να μοιραστεί και οι δύο προγραμματιστές θα πρέπει να έχουν ίσες ευκαιρίες για να συνεισφέρουν.
11. Ποιες προκλήσεις μπορούν να κάνουν πλευρικές συνομιλίες κατά τη διάρκεια των συνεδριών ζευγαρώματος?
Οι πλευρικές συνομιλίες μπορούν να αποσπούν την προσοχή και να εκτρέψουν την εστίαση από την πρωταρχική εργασία στο χέρι.
12. Είναι ο προγραμματισμός ζευγαριών κατάλληλος για όλα τα προβλήματα?
Όχι, ο προγραμματισμός ζευγαριών μπορεί να μην είναι κατάλληλος για όλα τα προβλήματα και μερικές φορές είναι απαραίτητη η ατομική εργασία.
13. Ο προγραμματισμός ζευγαριών διαρκεί περισσότερο?
Ο προγραμματισμός ζεύγους μπορεί να διαρκέσει περισσότερο από την κωδικοποίηση μόνο, αλλά παρέχει μια άμεση αναθεώρηση από ομοτίμους και διευκολύνει τη συνεργασία.
14. Μπορούν οι κατώτεροι προγραμματιστές να μάθουν μέσω προγραμματισμού ζευγαριών?
Ναι, οι κατώτεροι προγραμματιστές μπορούν να μάθουν μέσω προγραμματισμού ζευγαριών, αλλά απαιτεί προσπάθεια και αποτελεσματική επικοινωνία.
15. Ποια προσέγγιση είναι απαραίτητη για τον αποτελεσματικό προγραμματισμό ζευγαριών?
Η αμφισβήτηση, ο πειραματισμός και η ενεργά συμμετέχοντες είναι απαραίτητες για τον αποτελεσματικό προγραμματισμό ζευγαριών.
Το Facebook κάνει ζευγάρι προγραμματισμό
Δεν είμαι σίγουρος πώς να απαντήσω αντικειμενικά σε αυτήν την ερώτηση. Μπορείτε να διευκρινίσετε το πρόβλημα που προσπαθείτε να λύσετε, έχοντας κατά νου ότι αυτή η κοινότητα δεν υποστηρίζει υποκειμενικές ερωτήσεις?
Ποιος είναι ο σωστός τρόπος για να κάνετε το ζευγάρι προγραμματισμό?
Υπάρχουν τόσες πολλές ιστορίες όπου αισθάνομαι σαν να κωδικοποιώ κάποιον και μια ιστορία που θα μου πήρε 30 λεπτά καταλήγει να παίρνει 3 ώρες, εν τω μεταξύ, αμφισβητώ αν οι πιο κατώτεροι devs μαθαίνουν πραγματικά.
99K 23 23 χρυσά κονκάρδες 189 189 ασημένια σήματα 305 305 χάλκινα κονκάρδες
ρώτησε 22 Φεβρουαρίου στις 18:19
561 4 4 ασημένια κονκάρδες 5 5 χάλκινα κονκάρδες
Δεν είμαι σίγουρος πώς να απαντήσω αντικειμενικά σε αυτήν την ερώτηση. Μπορείτε να διευκρινίσετε το πρόβλημα που προσπαθείτε να λύσετε, έχοντας κατά νου ότι αυτή η κοινότητα δεν υποστηρίζει υποκειμενικές ερωτήσεις?
22 Φεβρουαρίου στις 18:54
Ζεύγος προγραμματισμού != εκπαίδευση . Όταν αναπτύξετε σε ζευγάρι θα πρέπει να ζευγαρώσετε ανώτερα με ανώτερο και junior με junior. Όταν εκπαιδεύετε θα πρέπει να συνδυάσετε τον ανώτερο με το junior
23 Φεβρουαρίου στις 9:21
Ζεύγος προγραμματισμού != Εκπαίδευση Ωστόσο, είναι δυνατόν να συνδυάσετε τον ανώτερο και το junior. Σίγουρα η εκπαίδευση θα καταλήξει να συμβεί και να επιβραδύνει τα πράγματα. Αλλά αυτό θα συμβεί ούτως ή άλλως. Δεν σημαίνει ότι δεν μπορεί να συμβεί αποτελεσματική σύζευξη.
23 Φεβρουαρίου στις 15:16
Συνδύασα με έναν ασκούμενο που δεν είχε ιδέα πώς λειτούργησε το σύστημά μας. Χρειαζόμασταν να μιλήσουμε με έναν εκτυπωτή και να είχαμε κώδικα που έστειλε στον εκτυπωτή μια εντολή που έπρεπε να επανασυναρμολογηθεί κάθε φορά που αλλάξατε την εντολή. Αποφάσισα να το μετατρέψω σε κέλυφος εντολών. Εξήγησε τι έκανα στον ασκούμενο. Έγραψε μια γυμνή έκδοση Bones μπροστά του. Πήρα στο σημείο όπου δούλευε και ήμουν κουρασμένος και είπα: “θέλω να το πάρω από εδώ?” “Σίγουρος!”Έκανε υπέροχα. Το γυαλισμένο αμέσως και εκεί.
23 Φεβρουαρίου στις 15:19
@Atigamer ακούγεται ότι το κύριο πρόβλημα σας δεν είναι οι juniors που σας επιβραδύνει. Είναι η διαχείριση που σας τονίζει την παραγωγικότητα. Δεν μπορώ να πω αν αυτό είναι αυτοί ή εσείς. Λάβετε υπόψη ότι δεν έχουν πραγματικά ιδέα για τα τεχνικά πράγματα. Αλλά αν αισθάνεστε σαν να υποβαθμίζετε πάντα, παίρνετε πάντα σε αυτό και υποθέστε ότι έχετε δίκιο.
23 Φεβρουαρίου στις 15:26
6 απαντήσεις 6
Εάν ο προγραμματισμός ζεύγους σας κάνει να αισθανθείτε σαν να είστε ελεγκτής εναέριας κυκλοφορίας που προσπαθεί να μιλήσει κάτω από ένα αεροπλάνο που έχει δοκιμαστεί από ένα fidgety 12 χρονών το κάνετε λάθος.
Ο λόγος που είναι λάθος είναι επειδή δεν είστε μίλια μακριά μιλώντας σε ένα ραδιόφωνο. Είσαι εκεί και μπορεί να πάρει το πληκτρολόγιο ανά πάσα στιγμή. Θα πρέπει να αισθάνεται σαν να είναι συν-πιλότος. Δεν δίνετε τον έλεγχο γιατί πρέπει. Το κάνετε γιατί μπορείτε.
Ένα πράγμα προγραμματισμό ζεύγους δεν είναι καθοδήγηση. Μια σχέση καθηγητή-καθηγητή αισθάνεται πολύ διαφορετική από δύο άτομα που εργάζονται μαζί ως ίσα, ακόμη και αν κάποιος έχει σημαντικά περισσότερη εμπειρία. Χρειάζεται χρόνος για να συνηθίσετε για να συνδυάσετε τον προγραμματισμό, οπότε μην ανησυχείτε αν αισθάνεται αμήχανη στην αρχή.
ακραία προγραμματισμό.org – Προγραμματισμός ζευγών
Αυτό που πρέπει να κατανοήσετε είναι το σημείο ζευγαρώματος. Δεν είναι έτσι μπορείτε να πείτε “ζευγαρώνουμε”. Είναι έτσι ώστε να μπορείτε να επικοινωνείτε στη φυσική σας γλώσσα: κωδικός.
Το φοβερό πράγμα εδώ είναι ότι μπορείτε να πληκτρολογήσετε μια σειρά κώδικα και να ρωτήσετε: “Αυτό έχει νόημα?”Αυτό είναι ένα σφιχτό βρόχο πίσω. Μπορείτε να λύσετε όταν ο κωδικός είναι πολύ έξυπνος γρήγορα.
“Μετακινηθείτε”, “Προσθέστε μια δήλωση κονσόλας”, “Μεταβείτε στο αρχείο x”, “μπορείτε να γράψετε y μετά τη γραμμή z”, κλπ.
Εάν αυτό είναι το μόνο που πρόκειται να πείτε ενώ συνδυάζουμε τότε απλά πάρτε το πληκτρολόγιο ήδη. Αντί να μου τρέφουμε μια βόλτα, πες μου τι συμβαίνει. Γιατί το κάνουμε αυτό. Πώς θα μπορούσα να το γνωρίζω για τον εαυτό μου.
Πες μου αυτό. Μην πάρετε μόνο το πληκτρολόγιο, κάντε κλικ σε μερικές μυστηριώδεις συντομεύσεις πληκτρολογίου και κάντε τη μαγεία να συμβεί. Δείξε μου πώς λειτουργεί το τέχνασμα.
Επίσης, μην υπαγορεύετε μόνο ολόκληρη την ημερήσια διάταξη. Εξάγω τη δουλειά που μπορώ να κάνω. Επιτρέψτε μου να μπω και να συμμετάσχω σε αυτό. Κόλαση μπορείς να πάρεις τυχεροί και να μάθεις κάτι από εμένα. Το πληκτρολόγιο πρέπει να ολισθαίνει μπροστά και πίσω.
Οι πλευρικές συνομιλίες εμφανίζονται συχνά κατά τη διάρκεια των συνεδριών ζευγαρώματος, αποσπά την προσοχή από το έργο στο χέρι
Ω, πάρτε μια στιγμή και γίνετε άνθρωπος. Με πείστε ότι μιλάω σε κάποιον που με θεωρεί άνθρωπος.
Η επίλυση σύνθετων προβλημάτων συχνά διαρκεί πολύ περισσότερο, επειδή πολλοί μηχανικοί χρειάζονται κεφάλια κάτω από το χρόνο για να σχεδιάσουν πραγματικά μια λύση
Αληθής. Μερικοί χρειάζονται κεφάλια μέχρι το χρόνο που αφιερώνουν μολύβια στα πλακάκια οροφής. Μερικοί χρειάζονται χρόνο πάπιας από καουτσούκ (μια ηχητική σανίδα αν είστε από το ασημένιο σετ μαλλιών). Ο προγραμματισμός ζευγαριών δεν είναι για κάθε πρόβλημα όλη την ώρα.
- Κάνοντας αυτό σε μια κλήση διαρκεί περισσότερο και συχνά οδηγεί στην παράλυση ανάλυσης.
Ναι, η σύζευξη μπορεί να διαρκέσει περισσότερο από την κωδικοποίηση μόνη της. Αλλά αν το κάνετε σωστά, παίρνετε επίσης μια άμεση άτυπη κριτική από ομοτίμους, καθώς και κάποια επιτόπια συνεργασία.
Η εύκολη θεραπεία για την παράλυση της ανάλυσης κάνει κάτι ηλίθιο και κάνει τους ανθρώπους να σας εξηγήσουν γιατί είναι λάθος. Επαναλάβετε σε αυτό μέχρι να εξαντληθείτε λάθος.
Αναρωτιέμαι αν οι πιο κατώτεροι devs μαθαίνουν πραγματικά.
Συνεχίζω να αμφισβητώ. Μάθετε τι λειτουργεί και τι όχι. Δεν υπάρχει μόνο ένας τέλειος τρόπος για να το κάνετε αυτό. Αλλά το κάνουμε μόνο επειδή πρέπει να το κάνουμε είναι σίγουρα λάθος.
Απαντήθηκε στις 22 Φεβρουαρίου στις 18:57
candied_orange candied_orange
99K 23 23 χρυσά κονκάρδες 189 189 ασημένια σήματα 305 305 χάλκινα κονκάρδες
Η εύκολη θεραπεία για την παράλυση της ανάλυσης κάνει κάτι ηλίθιο και κάνει τους ανθρώπους να σας εξηγήσουν γιατί είναι λάθος. Επαναλάβετε σε αυτό μέχρι να εξαντληθείτε λάθος. Αυτό είναι χρυσό. Λειτουργεί σε κάθε περίπτωση. Εκπαίδευση των δεξιοτήτων σχεδιασμού TDD και από τη βάση προς τα πάνω, κάνοντας επιτόπιες τεχνολογικές προκλήσεις ή αποφασίζοντας από 2 ταινίες που σίγουρα θα μισείτε, αλλά το GF σας δεν νοιάζεται. Απλά “κάντε κάτι”, γυρίστε τον τροχό και αφήστε τον εαυτό σας να παρασυρθεί από αδράνεια
22 Φεβρουαρίου στις 21:43
«Το φοβερό πράγμα εδώ είναι ότι μπορείτε να πληκτρολογήσετε μια σειρά κώδικα και να ρωτήσετε: “Αυτό έχει νόημα?«“Και αυτός είναι ο λόγος για τον προγραμματισμό των ζευγαριών είναι μια απόλυτη χάσιμο χρόνου. Κανένας ικανός προγραμματιστής δεν πρέπει να το ζητήσει για μια μόνο γραμμή κώδικα. Πρέπει να το ρωτήσετε για ολόκληρο το συνεκτικό μπλοκ λειτουργικότητας, ούτε μια γραμμή – και δεν το έχετε μέχρι να ολοκληρωθεί ο προγραμματιστής. Βασίζεται εξ ολοκλήρου στην πεποίθηση ότι ο προγραμματισμός είναι η κύρια πηγή σφαλμάτων στο τελικό προϊόν και αυτό έχει αποδειχθεί εκτενώς ψευδής πεποίθηση.
23 Φεβρουαρίου στις 8:53
@Graham συχνά, μία γραμμή είναι ένα συνεκτικό μπλοκ. Μερικές φορές, αντιπροσωπεύει μια αλλαγή σε ένα μόνο μπλοκ και θέλω να μάθω αν έχει νόημα στο πλαίσιο. Άλλες φορές έχω κάνει κάτι έξυπνο-αλλά προφανές, και θέλω να μάθω αν αξίζει ένα λεπτομερές ή ένα σύντομο σχόλιο. Φιλανθρωπικός!
23 Φεβρουαρίου στις 13:45
Η ειρωνεία εδώ είναι εγώ’να λαμβάνω σχόλια σε μία γραμμή και να ευχηθώ εγώ’D έχουν πάρει το νωρίτερα.
23 Φεβρουαρίου στις 14:12
@Graham Ενδιαφέρομαι πραγματικά για αυτό που λέτε για σφάλματα που δεν προέρχονται κυρίως από τον πηγαίο κώδικα – έχετε μια παραπομπή για αυτό, καθώς θα με ενδιέφερε να μάθω περισσότερα.
23 Φεβρουαρίου στις 14:21
Το κοινό μοτίβο είναι ότι οι περισσότεροι ανώτεροι devs καταλήγουν γενικά να χειρίζονται περισσότερα junior devs σε όλη τη διαδικασία
Πρώτα απ ‘όλα, ο προγραμματισμός ζευγαριών δεν συνεπάγεται εγγενώς τη διδασκαλία ή την καθοδήγηση. Με επαρκή ανισορροπία αρχαιότητας, πρέπει να δεχτείτε ότι δαπανάται ένα κομμάτι του χρόνου εκπαίδευση Αντί να εργάζομαι. Αυτό θα πρέπει ήδη να μετατοπίσει τις προσδοκίες σας για άμεσα αποτελέσματα.
Εάν θέλετε ο προγραμματισμός ζευγαριού να επικεντρώνεται πλήρως στην παράδοση, όχι να μαθαίνει, τότε πρέπει να συνδυάσετε ίσους προγραμματιστές με ίση εμπειρία ή όσο πιο κοντά μπορείτε. Δεν το κάνετε αυτό, έτσι είστε εγγενώς είτε πηγαίνετε να εμποδίσετε τους ηλικιωμένους σας (με το να πάτε στο ρυθμό του κατώτερου) είτε να χρειαστεί να δώσετε εντολή στους νεαρούς για το έργο (αφού γίνεται με ρυθμό ανώτερων).
βασικά κωδικοποιώντας ενώ κοιτάζετε ένα στιγμιότυπο οθόνης. “Μετακινηθείτε”, “Προσθέστε μια δήλωση κονσόλας”, “Μεταβείτε στο αρχείο x”, “μπορείτε να γράψετε y μετά τη γραμμή z”, κλπ.
Αυτό δεν είναι προγραμματισμός ζευγαριών, αυτό υπαγορεύει. Είναι τόσο μη παραγωγικό ως μηχανισμός παράδοσης (χρειάζονται δύο άτομα για να ακολουθήσουν ένα τρένο σκέψης) και ως εκπαιδευτικό εργαλείο (αντιγραφή τυφλά όπως σας λένε ότι δεν ενθαρρύνει την κατανόηση).
Θα επανεξετάσω σοβαρά την αρχαιότητα ενός προγραμματιστή εάν είναι σε θέση να επικεντρωθεί μόνο στον τρόπο επίλυσης ενός προβλήματος και δεν είναι σε θέση να καθοδηγήσει σωστά έναν κατώτερο προγραμματιστή. Αυτή είναι η διακριτική διαφορά μεταξύ ενός κατώτερου (μπορεί να κάνει το έργο, αλλά χρειάζεται εποπτεία), Medior (μπορεί να κάνει τη δική του δουλειά χωρίς μεγάλη επίβλεψη) και ανώτερο προφίλ (μπορεί να κάνει τη δική του δουλειά και να παράσχει εποπτεία για τους άλλους).
Οι πλευρικές συνομιλίες εμφανίζονται συχνά κατά τη διάρκεια των συνεδριών ζευγαρώματος, αποσπά την προσοχή από το έργο στο χέρι
Οι συνομιλίες που δεν σχετίζονται με την εργασία θα συνέβαιναν αν αυτοί οι δύο άνθρωποι κάθισαν γειτονικά χωρίς προγραμματισμό ζευγαριών και επομένως δεν είναι σχετικές όταν κρίνουμε αυτή την αξία του προγραμματισμού ζευγαριών.
Οι συνομιλίες που σχετίζονται με την εργασία είναι ακριβώς το σημείο προγραμματισμού ζεύγους · Επιτρέπει στο ζευγάρι να μεταφέρει τις γνώσεις τους μεταξύ τους και/ή τους βοηθά να συνεργαστούν για να μάθουν κάτι που είναι νέο και στους δύο.
Η επίλυση σύνθετων προβλημάτων συχνά διαρκεί πολύ περισσότερο, επειδή πολλοί μηχανικοί χρειάζονται κεφάλια κάτω από το χρόνο για να σχεδιάσουν πραγματικά μια λύση – κάνοντας αυτό σε μια κλήση διαρκεί περισσότερο και συχνά οδηγεί σε παράλυση ανάλυσης.
Πρώτα απ ‘όλα, δεν ονομάζεται ζευγάρι σχεδιασμό. Δεν μπορείτε απλώς να χτυπήσετε αυθαίρετα αυτά τα δύο μαζί.
Δεύτερον, ο προγραμματισμός ζευγαριών δεν συνεπάγεται ότι και τα δύο σύνολα των ματιών εξετάζουν το ίδιο πράγμα ταυτόχρονα, όλη την ώρα και τίποτα άλλο. Είναι απολύτως δυνατό για τον ανώτερο να κάνει κάτι άλλο, είτε εξετάζει τον σχεδιασμό της επόμενης εργασίας, την τεκμηρίωση ανάγνωσης, . Ενώ το Junior εκτελεί ένα πιο ασήμαντο έργο όπου ο ανώτερος είτε δεν χρειάζεται είτε είναι σε θέση να ζυγίζει και τις δύο δραστηριότητες ταυτόχρονα.
Η βάση για την ερώτησή σας συναντάται ως μπερδεμένη. Εφαρμόσατε ένα σύστημα, το διαρθρώσατε με συγκεκριμένο τρόπο και μόνο τότε Αρχίσατε να παρατηρήσατε ότι το σύστημα δεν βοηθά πραγματικά με τα πράγματα που είναι φαινομενικά σημαντικά για εσάς. Αυτό βάζει το καλάθι πριν από το άλογο.
Είναι πιο λογικό να κατανοήσετε πρώτα το πρόβλημα που προσπαθείτε να λύσετε, στη συνέχεια, αναζητήστε ένα σύστημα, επιβεβαιώστε ότι θα επιλύσει πράγματι το πρόβλημα και μόνο τότε θα ξεκινήσετε την εφαρμογή του.
Απαντήθηκε στις 22 Φεβρουαρίου στις 22:25
41.6K 8 8 χρυσά κονκάρδες 83 83 ασημένια κονκάρδες 115 115 χάλκινα κονκάρδες
“Πρώτα απ ‘όλα, δεν ονομάζεται ζευγάρι σχεδιασμό. Δεν μπορείτε απλώς να χτυπήσετε αυθαίρετα αυτά τα δύο μαζί.« — Πιστεύω ότι αυτό κόβει δεξιά στην καρδιά της ερώτησης του ΕΠ. Όχι κάθε εργασία ή αλληλεπίδραση είναι κατάλληλη για προγραμματισμό ζευγαριών.
24 Φεβρουαρίου στις 15:38
Νομίζω ότι δύο πιλότοι στο αεροσκάφος είναι το πλησιέστερο που μπορώ να σκεφτώ, οπότε ας έχουμε κάποια επισκόπηση πώς επιλύονται τα προβλήματα που αντιμετωπίζετε εκεί. Στην αεροπορία, έπειτα υπάρχουν δύο πιλότοι, υπάρχει πτήση πτήσης και η παρακολούθηση πιλότου. Η πιλοτική παρακολούθηση είναι επίσης πλήρως στο μάθημα και μπορεί να αναλάβει ανά πάσα στιγμή. Αυτό λειτουργεί πολύ καλά και είναι απίθανο να αλλάξει, ακόμη και αν τεχνικά αυτά τα αεροσκάφη θα μπορούσαν να πετάξουν από έναν άνθρωπο.
Δεν είμαι ο ίδιος ένας πιλότος, είμαι μηχανικός λογισμικού με μεγάλη εμπειρία. Αλλά ήμουν αρκετά ενεργός στην ανταλλαγή στοίβας αεροπορίας, διαβάζοντας τόσο ερωτήσεις όσο και απαντήσεις που δημοσιεύονται από πραγματικούς πιλότους, οπότε νομίζω ότι θα πρέπει να είναι σε θέση να παρέχει κάποια επισκόπηση. Μπορεί να είναι χρήσιμο για εμάς.
Αποστειρωμένο πιλοτήριο
Οι συνομιλίες που δεν σχετίζονται με την πτήση απαγορεύονται αυστηρά στο πιλοτήριο. Το ίδιο πρέπει να είναι μεταξύ των προγραμματιστών ζεύγους. Τόσο απλό.
Αποφάσεις
Οι μικροσκοπικές αποφάσεις γίνονται από τον πτήση πτήσης, αλλά οι πιλότοι επικοινωνούν όταν λαμβάνουν μεγαλύτερες αποφάσεις. Οι πιλότοι ακολουθούν επίσης λίστες ελέγχου που περιγράφουν πολλές τυποποιημένες ενέργειες που πρέπει να λάβουν. Εάν κάτι πάει στραβά, οι πιλότοι τραβούν λένε “αναξιόπιστη ανάγνωση της ταχύτητας αέρα” και ακολουθήστε βήματα εκεί αντί να ξεκινάτε από μακρά συζήτηση που πρέπει να γίνει. Εάν ο καπετάνιος είναι απολύτως σίγουρος, έχει μια προτεραιότητα να αποφασίσει γρήγορα, να υπερισχύσει οποιωνδήποτε κανόνες, οποιεσδήποτε οδηγίες από τον πύργο ελέγχου και χωρίς συζήτηση, αλλά αυτό δεν γίνεται ελαφρώς. Όταν ο καπετάνιος αγνοεί τις οδηγίες από τον πύργο ελέγχου, πρέπει να το πει αμέσως.
Ως εκ τούτου, περιμένω ότι ο κύριος προγραμματιστής θα έχει δικαίωμα να πει κάτι σαν “η προσέγγιση x δημιουργεί πολύ καλύτερο κώδικα ακριβώς εδώ, έτσι το χρησιμοποιούμε, ακόμη και αν οι γενικοί κανόνες απαιτούν κάτι διαφορετικό”, αλλά αυτό δεν πρέπει να έρχεται πολύ συχνά.
Τμήμα εργασίας
Οι πιλότοι διαιρούν την ώρα που κάθε ένας από αυτούς ελέγχει το αεροσκάφος περισσότερο ή λιγότερο εξίσου εξίσου, αλλά υπάρχουν δύσκολα καθήκοντα όπως το Flying 747 με τρεις κινητήρες μόνο ή την προσγείωση στο αεροδρόμιο Heraklion όπου επισημαίνεται επισήμως ότι “ο καπετάνιος πρέπει να κάνει την πτήση”. Διαφορετικά, και οι δύο πιλότοι είναι πλήρως εκπαιδευμένοι και κατάλληλοι για να πετάξουν αυτό το αεροσκάφος και δεν χρειάζονται πολύ σε βάθος μικροδιαχείριση.
Ως εκ τούτου, θα περίμενα ότι ο προγραμματιστής ζεύγους είναι ενεργός με τον κώδικα να πληκτρολογήσει και να μετακινηθεί όπως θέλει, με έναν άλλο απλώς να παρατηρεί και να παρεμβαίνει μόνο αν έχει αξιοσημείωτο πράγμα να πει. Επίσης, δεν περιμένω ότι ένας από τους προγραμματιστές θα πληκτρολογεί πάντα και ένας άλλος απλά παρακολουθώ πάντα.
Κατάρτιση καπετάνιου
Τέλος, για να κατανοήσουμε καλύτερα τον ρόλο, ένας νέος καπετάνιος εκπαιδεύεται για πρώτη φορά με έναν άλλο, πιο έμπειρο καπετάνιο που είναι ένας “πραγματικός καπετάνιος” του αεροσκάφους, αλλά ενώ η πτήση πηγαίνει καλά, παίζει το ρόλο του δεύτερου πιλότου. Μετά από αυτό, ο νεαρός καπετάνιος συνδυάζεται για να πετάξει με πολύ πιο έμπειρους (από τις ώρες πτήσης) δεύτερο πιλότο. Μόνο τότε ο καπετάνιος θεωρείται έτοιμος να πετάξει με κάποιον που μπορεί να δει ως λιγότερο ικανό.
Διπλά χειριστήρια
Τα αεροσκάφη που προορίζονται να πετάξουν από δύο πιλότους κανονικά έχουν διπλούς ελέγχους. Για να ακολουθήσετε αυτό το μοτίβο, είναι καλή ιδέα να συνδεθείτε τουλάχιστον το δεύτερο ποντίκι, αν όχι το πληκτρολόγιο. Αυτό επιτρέπει να περάσει η “οδήγηση” μεταξύ των προγραμματιστών πολύ γρήγορα.
Το Facebook κάνει ζευγάρι προγραμματισμό
Э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э э
Ы з з з з з з з и и и и п п п п п п з п з з з з з з з з з п. С п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п п. ПOчем э э э э э э э э э э э п п п п п п п?
Э э э э э а а а а и е е з з л л л л л л л э э э э э э э э э э э э Κοιτάζοντας το ριμπάγ. С с п п п п п э э э э э э э э э э э э э э э э э э э э э э э э э э э э. Д э э э э д д д и и д д д ρίας н и д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д.
И и з а а а а а а а а ы ы з .. Е е е е д п п ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж ж п п п п п п п п п п п п п п п п п. Орrρά. Пороннαι.
ПON п п е е а а τροφή пρέφ а а а а а τροφήλου. е е е и τροφή ее же жÉ в в ж и и и и ч ч.
Το Facebook και ο μύθος μιας ατομικής κουλτούρας κωδικοποίησης

Έχουμε ξεκινήσει ένα νέο ενημερωτικό δελτίο ηλεκτρονικού ταχυδρομείου Daily Email! Τώρα μπορείτε να λάβετε μια δωρεάν roundup από τα πιο πρόσφατα άρθρα TNS στα εισερχόμενά σας κάθε μέρα. Εγγραφείτε τώρα, μην χάσετε ποτέ μια ιστορία, μείνετε πάντα στο in-the-know.
Σε μια πρόσφατη ανάρτηση για την κουλτούρα της μηχανικής, ο μηχανικός λογισμικού Facebook Pierre Raynaud-Richard μοιράστηκε πληροφορίες για το πώς ο γίγαντας των κοινωνικών μέσων ενημέρωσης’Το S Dev Culture ενθαρρύνει τη συνεργασία και ενθαρρύνει την υπερηφάνεια για τον κώδικα που δημιουργούν.
Κρίσιμο για τον Raynaud’S Treatise είναι η αποκατάσταση του ‘ατομική ιδιοκτησία κώδικα’ μάντρα. “Πολλές εταιρείες ανάπτυξης λογισμικού πιστεύουν και ασκούν “ατομική ιδιοκτησία κώδικα.” Αυτό μπορεί να μην ακούγεται σαν μια τέτοια θεμελιώδη αρχή, αλλά στην πραγματικότητα προχωρά πολύ προς τον ορισμό του τρόπου λειτουργίας μιας οργάνωσης λογισμικού,” γράφει Raynaud.
Ενώ στο πρόσωπο, η προσέγγιση φαίνεται να ενθαρρύνει τους εσωτερικούς εμπειρογνώμονες με υπερηφάνεια δημιουργώντας καλύτερα γραπτό, λιγότερο buggy κώδικα, ο πραγματικός αντίκτυπος για πολλές εταιρείες είναι ότι καταπνίγει την καινοτομία και την ανάπτυξη των προγραμματιστών Wilts Developers. Ο Raynaud-Richard λέει ότι η προσέγγιση αποθαρρύνει την καινοτομία της εταιρείας, καθώς οι προγραμματιστές καταλήγουν να ευνοούν το status quo: με την πάροδο του χρόνου, υπερασπίζονται τη βάση κώδικα που έχουν χτίσει και έχουν μια σιωπηρή προκατάληψη προς αυτό, ανίκανοι να προσαρμοστούν σε νέες ευκαιρίες ή προκλήσεις που απαιτούν μια ριζική αλλαγή προς την κατεύθυνση. Για τους μεμονωμένους προγραμματιστές, η προσέγγιση ακροατεί την ανάπτυξη των δεξιοτήτων τους από το παπούτσι-κρατώντας τη βάση δεξιοτήτων τους και περιορίζοντας την ικανότητά τους να εντοπίζουν ευκαιρίες υψηλού αντίκτυπου.
“Η ατομική ιδιοκτησία κώδικα παρέχει μερικά ελκυστικά οφέλη με την πρώτη ματιά: καλύτερα σχεδιασμένα, συντηρημένα και υποστηριζόμενα κώδικα και μεγαλύτερη διάρκεια ζωής για εξαρτήματα και υπηρεσίες. Δυστυχώς, το κάνει με το κόστος εισαγωγής άκαμπτου ορισμού των ρόλων, ο οποίος μπορεί να περιορίσει την καινοτομία και την εταιρική και ατομική ανάπτυξη,” ολοκληρώνει τον Raynaud.
Σήμερα’S Πλήρες περιβάλλοντα ανάπτυξης στοίβας, ομάδες λογισμικού γνωρίζουν ότι κανένας προγραμματιστής δεν μπορεί να γνωρίζει τα πάντα. Αλλά πολλοί στρέφονται σε πιο δημιουργικά μέσα για να ενθαρρύνουν μια ευέλικτη κουλτούρα μηχανικής από την αυξημένη λεωφόρο εξειδίκευσης που καλλιεργεί το μοντέλο ιδιοκτησίας μεμονωμένα κώδικα.
Η καλλιέργεια εκκίνησης dev
Το Database-As-A-Service Startup Orchestrate διαθέτει μια κατανεμημένη ομάδα 10 μηχανικών που εργάζονται σε πέντε ζώνες χρόνου, σύμφωνα με τον CTO και τον συνιδρυτή Ian Plosker.
“Είμαστε’δεν έχουν γενικά ιδιοκτησία κώδικα,” λέει ο Plosker. “Τούτου λεχθέντος, οι εμπειρογνώμονες της περιοχής αναπτύσσονται φυσικά, συνήθως ξεκινώντας από το άτομο που ανέπτυξε ή επανεξετάζει τον κωδικό.” Ο Plosker λέει ότι από καιρό σε καιρό, συγκεκριμένοι μηχανικοί μπορεί να καταλήξουν να ειδικεύονται σε συγκεκριμένες τεχνολογίες ή μεθόδους και θα μεταφερθούν σε έργα συχνότερα όταν χρησιμοποιείται η συγκεκριμένη τεχνολογία.
“Ένα άτομο που κατέχει τον κώδικα είναι επικίνδυνο, επειδή ολόκληρη η ομάδα μπορεί στη συνέχεια να περάσει με το να μην γνωρίζει πώς λειτουργούν τα πράγματα. Ευτυχώς, σε μια μικρότερη οργάνωση, είναι πιο δύσκολο να ξεφύγουμε από αυτό. Είναι πραγματικά σημαντικό να διαχέεται η γνώση γύρω από τον οργανισμό.”
Μία από τις βασικές διαδικασίες που χρησιμοποιούνται στο Orchestrate για να αποφευχθεί η ατομική ιδιοκτησία κώδικα είναι οι κριτικές κώδικα: “Οι αναθεωρήσεις κώδικα είναι ένα από τα πιο κρίσιμα μέρη για τη μεταφορά γνώσης, εγγυάται ότι τουλάχιστον ένα δεύτερο άτομο γνωρίζει τον κώδικα, αξιολόγησε ότι οι δοκιμαστικές περιπτώσεις είναι πλήρεις και γνωρίζει πώς λειτουργεί η βάση κώδικα.”
Το Orchestrate παρέχει ένα ενιαίο περιβάλλον API και χρήστη για μια συλλογή πολλαπλών βάσεων δεδομένων. Ενώ ξεκινάει με βασικές τιμές, το προϊόν επιτρέπει τώρα μια σειρά μορφών αναζήτησης, συμπεριλαμβανομένου του πλήρους κειμένου, των χρονικών παραγγελιών και των αναζητήσεων γραφημάτων. Η τελευταία προσφορά ήταν μια νέα δυνατότητα αναζήτησης Geospatial, η οποία απέφυγε την προσέγγιση της μεμονωμένης ιδιοκτησίας κώδικα καθώς αναπτύχθηκε:
“Χρησιμοποιούμε το GitHub αρκετά, οπότε θα έχετε έναν προγραμματιστή που εργάζεται σε ένα κλάδο χαρακτηριστικών, όπως όταν προσθέσαμε τις γεωχωρικές λειτουργίες αναζήτησης. Έτσι, ο μηχανικός θα εργάζεται σε ένα κλάδο χαρακτηριστικών, ανοίγουν ένα αίτημα έλξης για να συγχωνευθεί. Ας ελπίσουμε ότι προσθέτουν όλες τις δοκιμές μονάδας και τις δοκιμές ενσωμάτωσης και αυτό’όταν συμβαίνει η βαθιά τεχνική αξιολόγηση.
“Εάν το χαρακτηριστικό είναι σημαντικό, έχουμε τουλάχιστον δύο ζευγάρια μάτια στα πράγματα και το GitHub σάς επιτρέπει να σχολιάσετε συγκεκριμένες γραμμές όπως λέγοντας ‘Γεια, γιατί το κάνατε έτσι?’
“Έτσι, η συνομιλία συμβαίνει εκεί, υπάρχουν πολλές γνώσεις ενσωματωμένες στα αιτήματα έλξης.
“Μόλις αναθεωρηθεί πλήρως, τότε το τρέχουμε και το δοκιμάζουμε.
“Έχουμε μερικά βήματα για δοκιμές: εσωτερικά, έχουμε ένα εργαλείο που ονομάζεται Orchestrate Runner που μπορεί να κατασκευάσει μια ολόκληρη ενορχηστρωμένη στοίβα στο μηχάνημά σας (ένας διακομιστής HTTP που βασίζεται σε Java, το μπροστινό άκρο του ιστού και όλα αυτά τα πράγματα περιστρέφονται από το εργαλείο μας εσωτερικά). Οτι’είναι ο πρώτος γύρος δοκιμών.
“Στη συνέχεια, κάθε δέσμευση στο GitHub διευθύνεται από τον Travis CI. Αυτό λειτουργεί αρκετά καλά για εμάς, και αυτό θα εκτελέσει όλες τις δοκιμές μονάδας και τις δοκιμές ενσωμάτωσης. Περιστούμε ακόμη και μια μίνι ενορχηστρωτική στοίβα μέσα στο Travis CI.
“Χρησιμοποιούμε επίσης hipchat, έχουμε δημιουργήσει ακόμη και ένα bot στο hipchat μας που μπορεί να μας πει πολλά για την ανάπτυξη κώδικα μας. Μετά από κάθε επιτυχημένο Master Build, παίρνουμε αυτά που φορτώθηκαν στο S3 στο τέλος της κατασκευής Travis και με βάση τον αριθμό κατασκευής, μπορούμε να ζητήσουμε από το chatbot να αναπτύξει αυτόν τον κωδικό! Αρέσει, ‘Hey Prodbot, αναπτύξτε τον αριθμό κατασκευής 46 στο περιβάλλον στάσης USC.’ Ο Plosker επισημαίνει επίσης τον Mumble, έναν πελάτη συνομιλίας που επιτρέπει σε οποιαδήποτε ομάδα προγραμματιστών να θέτει ερωτήσεις ο ένας στον άλλο ή να ξεκινήσει άτυπες συνομιλίες σχετικά με τα πρότυπα κωδικοποίησης και τις επιλογές σχεδιασμού.
Για την προώθηση της συνεργασίας και της ομαδικής συζήτησης γύρω από το νέο σχεδιασμό χαρακτηριστικών, ο Orchestrate ενθαρρύνει οποιοδήποτε μέλος της ομάδας να δημιουργήσει μια πρόταση που περιγράφει την ιδέα:
“Πριν ξεκινήσουμε οποιοδήποτε μεγάλο χαρακτηριστικό, τείνει να συμβεί ότι κάποιος γίνεται πρωταθλητής για αυτό το χαρακτηριστικό. Έτσι τείνουμε να αρέσει να γράφουμε μια πρόταση για το χαρακτηριστικό: εδώ’πώς θα λειτουργούσε, εδώ’Γιατί πρέπει να το κάνουμε, τις προκλήσεις, τις ευκαιρίες … αυτές τείνουν να είναι έγγραφα Google και ολόκληρη η ομάδα θα εργαστεί σε αυτό. Συμβαίνει πραγματικά οργανικό.
“Για παράδειγμα, αυτή τη στιγμή εργαζόμαστε για την αναζήτηση, οπότε υπάρχει ένα έγγραφο που όλοι σχολιάζουν. Σε αυτό το σημείο ήδη, έχουμε αρκετή γνώση που κυκλοφορεί.”
Η κλιμακωτή επιχείρηση
Το ηλεκτρονικό μενού και η υπηρεσία παράδοσης τροφίμων Just Eat – το οποίο τώρα λειτουργεί σε 13 χώρες και ανακοίνωσε αύξηση των εσόδων κατά 58% κατά το πρώτο εξάμηνο του 2014 – διαθέτει μια ομάδα μηχανικών περίπου 60 προγραμματιστών στα γραφεία του στο Ηνωμένο Βασίλειο μόνο. Η εταιρεία βλέπει “αρκετά ουσιαστική, ταχεία ανάπτυξη” Απαιτώντας από τους προγραμματιστές να συνεργαστούν σε δύο θέσεις γραφείου και εξ αποστάσεως, σύμφωνα με το τεχνικό προβάδισμα, Anton Jefcoate. “Ο ρυθμός ανάπτυξης μας οδήγησε σε μερικές πολύ καλές πρακτικές. Τα θεμέλια ήταν ήδη εκεί, αλλά μπορείτε’να ξεφύγω από την κουλτούρα της μηχανικής που προωθείτε όταν κλιμακώνετε την ομάδα ανάπτυξης σας.
“Εμείς’Διαχωρίσαμε τις ομάδες μας σε μερικές ομάδες για να αντιμετωπίσουν διαφορετικούς τομείς: Εφαρμογές καταναλωτών, επιχειρηματικές εφαρμογές, Devs που εργάζονται σε APIs.. Η ομάδα API είναι ο πυρήνας ολόκληρης της πλατφόρμας. Έτσι, οι ομάδες API χωρίζονται περαιτέρω και παίρνουν τον έλεγχο συγκεκριμένων τμημάτων της πλατφόρμας.
“Οποιοδήποτε νέο έργο θα πάρει μερικούς ανθρώπους μαζί από την Ομάδα Εφαρμογών που οδηγείται από το API: αυτό’είναι τουλάχιστον δύο, μέγιστο των 10 ατόμων σε οποιοδήποτε έργο. Εξαρτάται από το μέγεθος του χαρακτηριστικού προφανώς και πόσο μακριά θα εξαπλωθεί η λειτουργία.”
Ο Jefcoate πιστεύει ότι ο Raynaud-Richard έχει δίκιο να καλέσει τις αδυναμίες ενός μεμονωμένου πολιτιστικού μοντέλου ιδιοκτησίας κώδικα σε εταιρείες λογισμικού.
“Τα μειονεκτήματα είναι πράγματα που τρέχουν αληθινά για εμάς,” λέει ο Jefcoate. “Νομίζω ότι η Agile είναι ένα από τα πράγματα που έσπασε αυτόν τον πολιτισμό. Νομίζω ότι πριν από την Agile, οι Devs ήταν απομονωμένοι, αλλά ο Agile ενθαρρύνει την ομάδα πάνω από το άτομο. Όταν κοιτάζετε την ταχύτητα παρακολούθησης ή το μεγαλύτερο καλό της ομάδας για παραγωγή, όλοι μοιράζονται το έργο ομοιόμορφα. Έχουμε πολύ μια κουλτούρα όλων των τσιπ. το πιστεύω’S που συνδέεται με τις εργασιακές πρακτικές και τον τύπο των ανθρώπων που χρησιμοποιούν ευέλικτες ροές: εδώ’είναι μερικοί να κάνουν, ο καθένας παίρνει στο κατάστρωμα, και αυτό δεν’T προσφέρεται σε ένα σενάριο ιδιοκτησίας μεμονωμένων κώδικα.”
Απλώς τρώτε επαναλήψεις αρκετές πολιτιστικές πτυχές που γίνονται όλο και πιο εξοικειωμένες με τις νεοσύστατες εταιρείες λογισμικού που βασίζονται σε σύννεφο. Όπως και άλλοι στη γενιά τους (μόλις ξεκίνησε το 2001), έχουν μια κουλτούρα δημιουργίας έργων ανοιχτού κώδικα και συχνά χρησιμοποιούν μια διαδικασία πρόσληψης που ζητά από τους αιτούντες να σκυλιάσουν τα APIs Just-Eat για να αποδείξουν τι μπορεί να γίνει ή να επισημάνουν ευκαιρίες που θα μπορούσαν να βελτιώσουν το Just Eat Just Eat’βάση κώδικα.
Ο Jefcoate βλέπει την προσέγγιση ανοιχτού κώδικα ως διαφορετικό τρόπο καλλιέργειας της υπερηφάνειας’πλεονέκτημα S-κώδικα που μπορεί να προέρχεται από μεμονωμένη ιδιοκτησία κώδικα:
“Πρέπει μόνο να κοιτάξετε κάτω τη στοίβα μας και να δείτε όλα τα εργαλεία ανοιχτού κώδικα που χρησιμοποιούμε για την επίλυση των προβλημάτων μας κάθε μέρα, έτσι ώστε μια συνολική κοινότητα προγραμματιστών, πραγματικά επωφελούμαστε από το μεγαλύτερο αγαθό. Η ανοικτή πηγή επιτρέπει στα προβλήματα να λυθούν από πολλούς ανθρώπους. Υπάρχουν πολύ λίγα μέρη που μπορείτε να πάτε στο σημείο όπου έχετε δωρεάν προϊόντα που έχουν αυτό το ποσό δοκιμασμένου ιστορικού σε αυτά. Εργασίες ανοιχτού κώδικα, και υποθέτω για εμάς, να συμβάλουμε πίσω σε αυτό κάνει μια μικρή δήλωση για το τι είμαστε ως εταιρεία. Τα πράγματα ανοιχτού κώδικα που βάζουμε (που είναι σχετικά σε μικρή ηλικία) είναι πράγματα που είναι γενικά που βοηθούν στην επίλυση προβλημάτων στην κοινότητα των προγραμματιστών. Προσπαθούμε να πάρουμε τα οφέλη της μεμονωμένης ιδιοκτησίας κώδικα (πράγματα όπως η καλλιέργεια της υπερηφάνειας και η ενθάρρυνση της προσωπικής επαφής και των προσωπικών επενδύσεων σε έργα κωδικοποίησης), διασφαλίζοντας ότι οι προγραμματιστές μπορούν να βοηθήσουν να δοκιμάσουν νέες τεχνικές στην πλατφόρμα μας, οι προγραμματιστές μας να επιλύουν προβλήματα για το σύνολο της ομάδας Just Eating Engineering Group. Εάν συμβεί αυτό, τότε πιθανότατα θα λύσει πράγματα έξω από την εταιρεία μας, έτσι’πώς ξεκινούν τα έργα ανοιχτού κώδικα. Είναι συνήθως για την κλιμάκωση και την ανθεκτικότητα. Προσπαθούμε να το υιοθετήσουμε εσωτερικά και στη συνέχεια να δούμε αν είναι κάτι που μπορεί να επωφεληθεί από την κοινότητα.”
Για να ενσωματώσετε περαιτέρω μια συνεργατική κουλτούρα και όχι ένα μοντέλο ιδιοκτησίας μεμονωμένων κώδικα, το Just Eat κρατά τριμηνιαία εσωτερικά hackathons για να φέρει τους προγραμματιστές μαζί σε νέες διαμορφώσεις ομάδας: “Με την ιδιοκτησία κώδικα ομάδας, χάσετε μερικά από τα οφέλη όπως ο τρόπος με τον οποίο ο κώδικας μπορεί να είναι καλύτερος επειδή οι προγραμματιστές είναι πιο αφοσιωμένοι ή γίνονται εμπειρογνώμονες τομέα. Οι εσωτερικοί hackathons είναι μακριά για να ενθαρρύνουν τους προγραμματιστές μας να εργάζονται σε προσωπικά έργα κατοικίδιων ζώων.”
Το Just Eat χρησιμοποιεί το JIRA για να παρακολουθείτε την εργασία που γίνεται και να συντονίζει τα αιτήματα έλξης, και στη συνέχεια κάθε αίτημα έλξης παίρνει αξιολογημένη από ομοτίμους: “Μια ομάδα είναι ημι-ανεξάρτητη, αλλά όλα οδηγούνται από μια παγκόσμια απαίτηση προϊόντος. Μόλις περάσετε από την παγκόσμια απαίτηση, οι ομάδες τείνουν να αυτοδιαχειρίζονται για να το ολοκληρώσουν. Έτσι ανοίγει ένα αίτημα έλξης είναι συνήθως σε μια ομαδική συνομιλία. Στη συνέχεια, οι κριτικές από ομοτίμους είναι μια φανταστική διαδικασία επειδή μαθαίνει καθώς και επαλήθευση. Έχουμε πολλή αυτοματοποίηση: πραγματικά στο CI μας για ναι/όχι θα μπορούσε αυτό να αναπτυχθεί.”
Η Jefcoate βλέπει επίσης την εταιρεία’S Χρήση του προγραμματισμού ζεύγους (η μέθοδος της ύπαρξης δύο προγραμματιστών συνεργάζονται, γραμμή για γραμμή, σε ένα έργο κωδικοποίησης) όπως αποδεικνύει την αντίθεση της ατομικής κουλτούρας κωδικοποίησης που αξίζει την εταιρεία: “Χρησιμοποιούμε προγραμματισμό ζευγαριών για την επιβίβαση νέων προγραμματιστών και ως γενική πρακτική ανάπτυξης. Εάν δουλεύω σε κάτι ιδιαίτερα νέο, θα συνδυάσω με κάποιον και θα σιγουρευτώ ότι κάποιος άλλος το ξέρει. Αυτά γίνονται εξ αποστάσεως, το ζευγάρωμα είναι ένα από τα καλύτερα εργαλεία για την απόκτηση ποιότητας κώδικα.”
Η κουλτούρα της επιχείρησης Dev
Ο Jakub Nesetril είναι ιδρυτής και Διευθύνων Σύμβουλος της Apiary, μια σειρά εργαλείων σχεδιασμού και τεκμηρίωσης API. Αυτή την εβδομάδα, το Apiary κυκλοφόρησε το Apiary για Enterprise για να βοηθήσει τις μεγαλύτερες εταιρείες να απομακρυνθούν από την ατομική ιδιοκτησία κώδικα κατά τη δημιουργία προϊόντων και υπηρεσιών API. Όλο και περισσότερο, η Nesetril βλέπει επιχειρήσεις που ασχολούνται με πολλαπλά API που έχουν γραφτεί με διαφορετικούς τρόπους και ότι τώρα πρέπει να έχουν κοινές δομές κωδικοποίησης και ονοματολογίες, που εργάζονται από πολλά μέλη της ομάδας και όχι μεμονωμένα devs που έχουν ανατεθεί σε μια συγκεκριμένη επιχειρηματική μονάδα.
Σε όλη τη διάρκεια των χιλιάδων χρηστών μελισσών, η Nesetril βλέπει συνήθως μεμονωμένους χάκερ ή μικρές ομάδες χρησιμοποιούν τα εργαλεία ανοιχτού κώδικα όπου κάθε προγραμματιστής μπορεί να έχει σχεδόν ατομική προσέγγιση ιδιοκτησίας κώδικα (κυρίως επειδή είναι ο μόνος κωδικοποιητής). Καθώς οι ομάδες μεγαλώνουν αρχίζουν να χρησιμοποιούν το Apiary Commercial Product και από τη στιγμή που φτάνουν στα 20 μέλη της ομάδας, μετακινούνται στο μελισσοκομείο για ομάδες. Σε αυτό το στάδιο, η οργανωτική υποδομή τείνει να φέρει έναν διαχειριστή προϊόντων για να εξασφαλίσει ότι η κωδικοποίηση προγραμματιστών είναι ομοιόμορφη σε διάφορα έργα API.

Μεταξύ των πελατών των επιχειρήσεων-όταν οι ομάδες φτάνουν σε αριθμούς προγραμματιστών 40-60 ή περισσότερων-ένας αρχιτέκτονας API τείνει να προσληφθεί. “Ένα από τα πράγματα με τα οποία αγωνίζονται είναι ένας συνεπής σχεδιασμός για τα API τους, και αυτό’Γιατί χτίσαμε το Apiary για επιχειρήσεις,” Ο Nesetril εξηγεί. Στο επίκεντρο του προϊόντος είναι ένα εργαλείο οδηγού στυλ που βοηθά τις εταιρείες να εξασφαλίσουν ότι οι προγραμματιστές συμμορφώνονται με οργανωτικές συμβάσεις όπως η ονοματολογία και οι μορφές δεδομένων.
Η Nesetril βλέπει τους πελάτες των επιχειρήσεων να εγκαταλείψουν τις παλιές αντιλήψεις της ατομικής ιδιοκτησίας κώδικα, ειδικά επειδή πολλοί έχουν κληρονομήσει μια κληρονομιά διαφορετικών API μέσω συγχώνευσης και εξαγορών ή επειδή οι περιπτώσεις ατομικής χρήσης οδήγησαν αρχικά αναπτυξιακά έργα API εντός αποσυνδεδεμένων επιχειρηματικών μονάδων.
“Ιστορικά, υπήρξε μια ισχυρή ώθηση για την ιδιοκτησία κώδικα ως αυτή που δημιούργησε λογοδοσία, αλλά δημιούργησε επίσης δυσκολίες συνεργασίας. Βλέπουμε πολύ περισσότερους κοινούς πόρους μεταξύ των ομάδων προγραμματιστών στις επιχειρήσεις, όπου τα άτομα μπορούν να περιστρέφονται μέσα και έξω από διάφορα μέρη έργων,” λέει ο Nesetril.
“Το τέχνασμα με συνεργατικές προσεγγίσεις είναι ότι χρειάζονται μια ενιαία έκδοση της αλήθειας. Όλοι δεν μπορούν να είναι ειδικοί σε όλα μέσα στην εταιρεία, αλλά είναι υπέροχο όταν μπορούν να εργαστούν σε κάτι εσωτερικά. Το μεγαλύτερο τέχνασμα με μια ενιαία έκδοση της κουλτούρας της αλήθειας φτάνει σε αυτό το μέρος χωρίς να περιορίζει τη συνεργασία.” Η Nesetril πιστεύει ότι το Apiary για την Enterprise είναι ιδανική για επιχειρήσεις που προσπαθούν να διαχειριστούν πολλαπλά API χωρίς να δημιουργήσουν μια κουλτούρα που ενθαρρύνει τους προγραμματιστές να επανέλθουν σε μεμονωμένους εμπειρογνώμονες κώδικα: “Τους δίνει αυτό το κομμάτι του μυαλού ότι όταν εργάζονται σε ένα API, ταιριάζει σε ένα ενεργό επίπεδο προηγμένου ελέγχου και ειδοποιήσεων, τότε σας επιτρέπει να είστε πιο πειραματικοί και φιλόδοξοι αν δεν είστε μπερδεμένοι από τους φόβους ότι το κάνετε λάθος με, για παράδειγμα, μορφές ημερομηνίας,. Οι άνθρωποι μπορούν να αρχίσουν να κάνουν σημαντικές συνεισφορές νωρίς.”
Η μεμονωμένη ιδιοκτησία κώδικα πεθαίνει (ημι-δημόσιος) θάνατος
Τι Raynaud-Richard’Η δημοσίευση στο blog μπορεί να κάνει στην πραγματικότητα είναι η επισήμανση του χρόνου και του θανάτου της ατομικής ιδιοκτησίας κώδικα. Ήδη, οι επιχειρήσεις σε όλα τα επίπεδα – από τις νεοσύστατες επιχειρήσεις έως τις επιχειρήσεις – αγκαλιάζουν περισσότερες προσεγγίσεις ανάπτυξης συνεργασίας. Το Google Tools και το HipChat χρησιμοποιούνται συνήθως σε όλες τις ομάδες προγραμματιστών σε όλα τα επίπεδα και αναδύονται νέα προϊόντα προγραμματιστών που βοηθούν στην εδραίωση ενός πιο συνεργατικού ήθους. Σήμερα’S Dev Environment, ένας μεσαίος δρόμος μεταξύ εξειδίκευσης και γενικών γνώσεων πρέπει να επιδιωχθεί όπου η μεγαλύτερη δεξιότητα κωδικοποίησης είναι ασύγχρονη οικοδόμηση συναίνεσης: η ικανότητα συνεργασίας και διευκόλυνση της μεταφοράς γνώσης σε μια κατανεμημένη ομάδα.
Εικόνα χαρακτηριστικών μέσω Flickr Creative Commons.
Ποια είναι τα οφέλη του προγραμματισμού ζευγαριών για την ανταλλαγή γνώσεων?
Полззйййййййййζί. Э э д д и и и и и и и и и и и и и и и и и и и и и и и и и и и э э э э э э э э э э э э э э э э э э э. Ы ы ж ж д д е д д ж ж ж ж ж ж ж ж ж.
Э э с с н е е е и п п э э э э э э э э эΑ. А э э э э э е е е е д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д д.
Е е е е е τροφή пхшшение ншюююююшшшение ншюю ншю ншюю нш нш нш нш нш нш нш нш нш ншюρέφ. Пороннαι
Τελευταία ενημέρωση στις 27 Απριλές. 2023 g.
Το Pair Programming είναι μια πρακτική συνεργασίας κωδικοποίησης όπου δύο προγραμματιστές εργάζονται στο ίδιο codebase ταυτόχρονα, χρησιμοποιώντας έναν υπολογιστή και ένα πληκτρολόγιο. Χρησιμοποιείται συχνά σε μεθοδολογίες ανάπτυξης λογισμικού Agile, όπως Scrum και XP, για τη βελτίωση της ποιότητας του κώδικα, της παραγωγικότητας και της μάθησης. Σε αυτό το άρθρο, θα διερευνήσουμε πώς ο προγραμματισμός ζευγαριών μπορεί επίσης να προωθήσει την ιδιοκτησία κώδικα και την ανταλλαγή γνώσεων μεταξύ των προγραμματιστών και ποιες είναι μερικές από τις βέλτιστες πρακτικές για να λειτουργήσουν αποτελεσματικά.
(Неенее 125 сииоо)
Дοба9π схраннμύζ
Κωδικός ιδιοκτησίας
Η ιδιοκτησία του κώδικα είναι η αίσθηση ευθύνης και λογοδοσίας που έχουν οι προγραμματιστές για τον κώδικα που γράφουν και διατηρούν. Μπορεί να έχει θετικές επιπτώσεις στην ποιότητα του κώδικα, καθώς οι προγραμματιστές είναι πιο πιθανό να ακολουθήσουν τα πρότυπα κωδικοποίησης, τις δοκιμές εγγραφής, το refactor και το Fix Bugs. Ωστόσο, μπορεί επίσης να έχει αρνητικές επιπτώσεις, όπως η δημιουργία σιλό γνώσης, η μείωση της συνεργασίας και η αύξηση της εξάρτησης από συγκεκριμένα άτομα. Ο προγραμματισμός των ζευγαριών μπορεί να βοηθήσει στην ισορροπία της ιδιοκτησίας κώδικα ενθαρρύνοντας τη συλλογική ιδιοκτησία, όπου ολόκληρη η ομάδα είναι υπεύθυνη για το codebase και κανείς δεν είναι ο μοναδικός εμπειρογνώμονας ή ιδιοκτήτης ενός συγκεκριμένου χαρακτηριστικού ή ενότητας. Ο προγραμματισμός ζευγαριών μπορεί επίσης να μειώσει τον κίνδυνο απώλειας γνώσης, καθώς οι προγραμματιστές μπορούν να μοιραστούν την εμπειρία και τις ιδέες τους με τους συνεργάτες τους και να μάθουν ο ένας από τον άλλον.
(Неенее 125 сииоо)
Дοба9π схраннμύζ
Προγραμματιστής Java στο Sky
- Киироτροφή
- Пожалова έπρεπε на на вкад
ПOж .
ПOж .
Πίσω
С .. з з у у у у у у у у у у у у! Ы б н н н н н н н н э э э э э э э э э э э э э э.
Ο προγραμματισμός ζευγών αφαιρεί πραγματικά την ιδιοκτησία κώδικα εντελώς. Δεν υπάρχει πραγματικός ιδιοκτήτης οποιουδήποτε κομματιού σε προγραμματισμένο περιβάλλον ζεύγους με υγιή περιστροφή ζευγών.
Ανταλλαγή γνώσεων
Η ανταλλαγή γνώσεων είναι η διαδικασία μεταφοράς και ανταλλαγής πληροφοριών, δεξιοτήτων και εμπειριών μεταξύ των προγραμματιστών. Μπορεί να ενισχύσει τη μάθηση, την καινοτομία και την επίλυση προβλημάτων, καθώς και την προώθηση μιας κουλτούρας εμπιστοσύνης και ανατροφοδότησης. Ο προγραμματισμός ζευγαριών είναι ένα ισχυρό εργαλείο για την ανταλλαγή γνώσεων, καθώς δημιουργεί ένα φυσικό και διαδραστικό μαθησιακό περιβάλλον, όπου οι προγραμματιστές μπορούν να κάνουν ερωτήσεις, να εξηγήσουν τις έννοιες, να επιδείξουν τεχνικές και να δώσουν ανατροφοδότηση. Ο προγραμματισμός ζευγαριών μπορεί επίσης να εκθέσει τους προγραμματιστές σε διαφορετικές προοπτικές, προσεγγίσεις και στυλ κωδικοποίησης, οι οποίες μπορούν να διευρύνουν τους ορίζοντές τους και να βελτιώσουν τις δεξιότητές τους.



