Μεγάλες λέξεις προγραμματισμού ή φράσεις

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

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

  1. Αφαίρεση - αυτό παίρνει μια δύσκολη διαδικασία ή λειτουργία και βασικά το διασπά λογικά… είτε με ιεραρχία (το Α ανήκει στο Β, το Β ανήκει στο Γ, κ.λπ.) είτε με το χαρακτηριστικό ή τη λειτουργία (χρώμα, μέγεθος, βάρος κ.λπ.). Η αφαίρεση κάνει τον αντικειμενοστρεφή προγραμματισμό ευκολότερο οργανώνοντας τη λειτουργικότητα λογικά. Για να χτίσω το αυτοκίνητό μου, χτίζω ένα πλαίσιο, έναν κινητήρα και ένα αμάξωμα ξεχωριστά.
  2. Αποσβέσεις - αυτό σημαίνει ότι υπάρχει κάποιος παλιός κώδικας στο σύστημα που μπορεί να παραμείνει αλλά χρειάζεται να καταργηθεί. Όταν ο κώδικας έχει καταργηθεί, οι προγραμματιστές δεν κάνουν αναφορά στον κώδικα ή χρησιμοποιούν νεότερο κώδικα έως ότου όλες οι αναφορές μεταφερθούν στο παλιό, οπότε πρέπει να αφαιρεθεί. Μερικές φορές, εάν πρόκειται για ένα χαρακτηριστικό που εξαφανίζεται, μπορείτε να το διατηρήσετε για λίγο με μια προειδοποίηση στους χρήστες σας ότι θα πάει μακριά. Παίρνω ένα νέο στερεοφωνικό σύστημα με νέα καλωδίωση, αλλά αφήνω την παλιά καλωδίωση και δεν το χρησιμοποιώ.
  3. Ενθυλάκωση - αυτή είναι η διαδικασία οργάνωσης των λειτουργιών προγραμματισμού σε έναν γονέα όταν η συνάρτηση δεν φτάνει σε κανένα άλλο μέρος του συστήματος. Εάν έχετε εκατομμύρια λειτουργίες, θέλετε να τις οργανώσετε και να λειτουργείτε αποτελεσματικά εντός των περιοχών που λειτουργούν αντί να τις έχετε διαθέσιμες παγκοσμίως. Βάζω τους μηχανισμούς στήριξης του κινητήρα στο χώρο του κινητήρα… Δεν βάζω το φίλτρο λαδιού στο πίσω κάθισμα.
  4. Κληρονομία - αυτή είναι η ικανότητα ανάληψης των ιδιοτήτων ενός άλλου κοινού κώδικα (κλάση) για να τον επαναχρησιμοποιήσετε για νέα λειτουργικότητα χωρίς να χρειάζεται να τον ξαναγράψετε. Η κληρονομιά είναι μια άλλη καλή αντικειμενική πρακτική ανάπτυξης. Το κάθισμα αυτοκινήτου μου μπορεί να χρησιμοποιηθεί για να μεταφέρει ένα παιδί ή έναν ενήλικα - όποιος κάθεται σε αυτό.
  5. Ομαλοποίηση - αυτή είναι η μέθοδος οργάνωσης δεδομένων με μεγαλύτερη αποτελεσματικότητα σε μια βάση δεδομένων δημιουργώντας αναφορές. Ένα παράδειγμα θα ήταν αν έπρεπε να εγγράψω φανάρια όλη την ημέρα… κόκκινο, κίτρινο και πράσινο. Αντί να γράφω κάθε εγγραφή με κόκκινο, κίτρινο και πράσινο - γράφω 1, 2 και 3 και έπειτα φτιάχνω έναν άλλο πίνακα όπου 1 = κόκκινο, 2 = κίτρινο και 3 = πράσινο. Με αυτόν τον τρόπο καταγράφω μόνο ένα κόκκινο, κίτρινο και πράσινο μία φορά. Κάθε πόρτα του αυτοκινήτου μου έχει την ίδια λαβή πόρτας. Μία λαβή, που χρησιμοποιείται σε 4 διαφορετικές θέσεις και όχι σε 4 διαφορετικές λαβές.
  6. Αντικειμενοστραφής - σε σύγχρονες γλώσσες προγραμματισμού, αυτή είναι μια μέθοδος σχεδιασμού που σας επιτρέπει να γράφετε συγκεκριμένα κώδικα σε τεμάχια, ανά λειτουργικότητα και, στη συνέχεια, να τα επαναχρησιμοποιείτε. Ένα παράδειγμα θα ήταν αν ήθελα να ελέγξω μια έγκυρη διεύθυνση email. Θα μπορούσα να δημιουργήσω τη συνάρτηση μία φορά και μετά να τη χρησιμοποιήσω όποτε χρειαζόμουν στην εφαρμογή μου. Το αυτοκίνητό μου έχει 18 ″ ζάντες που μπορούν να χρησιμοποιηθούν σε άλλα αυτοκίνητα από τον ίδιο ή από άλλους κατασκευαστές.
  7. Πολυμορφισμός - Αυτό είναι δύσκολο να εξηγηθεί, αλλά βασικά είναι η ικανότητα ανάπτυξης κώδικα που μπορεί να χρησιμοποιηθεί δυναμικά για άλλες καταστάσεις. Με άλλα λόγια, μπορεί να κληρονομήσει μοναδική και δυναμική λειτουργικότητα απλά με τον τρόπο που αναφέρεται. Αυτό είναι ένα πολύ αποτελεσματικό μέσο ανάπτυξης. Μπορώ να χρησιμοποιήσω την ηλεκτρική πρίζα του αυτοκινήτου μου για τη φόρτιση του τηλεφώνου μου ή για την παροχή χυμού στην αντλία ελαστικών μου.
  8. Αναδρομή - αυτή είναι μια μέθοδος όπου ο κώδικας αναφέρεται στον εαυτό του. Μερικές φορές, είναι αποτελεσματικό και σκόπιμο, αλλά άλλες φορές μπορεί να καταλήξει να αυξάνει τις εφαρμογές σας εκτός ελέγχου. Πατάω αναζήτηση στο στερεοφωνικό του αυτοκινήτου μου και βγαίνει μέσω των ραδιοφωνικών σταθμών. Δεν τελειώνει ποτέ, συνεχίζει.
  9. Επανεμφάνιση - αυτή είναι η διαδικασία επανεγγραφής κώδικα για να διευκολύνεται η παρακολούθηση ή να οργανώνεται καλύτερα, αλλά όχι απαραίτητα να προσθέτετε επιπλέον λειτουργικότητα. Ξαναχτίζω τον κινητήρα μου.
  10. Αρχιτεκτονική προσανατολισμένη στον διακομιστή (SOA) - Πάρτε αντικειμενοστρεφή προγραμματισμό και εφαρμόστε το σε μεγάλα συστήματα όπου μπορείτε να έχετε ολόκληρα συστήματα που κάνουν συγκεκριμένες λειτουργίες. Μπορεί να έχετε ένα σύστημα διαχείρισης σχέσεων πελατών που μιλά σε ένα σύστημα ηλεκτρονικού εμπορίου που μιλά σε ένα σύστημα αποστολής κ.λπ. Τράβηξα ένα τρέιλερ με το αυτοκίνητό μου για να στείλω αντικείμενα από το ένα μέρος στο άλλο. Χρησιμοποιώ ένα κοτσαδόρο (XML) για να τα συνδέσω.

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

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

… Παρακολουθούν.

8 Σχόλια

  1. 1

    LOL πραγματικά το καρφώσατε Doug 🙂 Προσπαθείτε να μας βγείτε εκτός λειτουργίας; Γνωρίζετε πολύ καλά ότι βασίζουμε αυτές τις έννοιες που δεν είναι κατανοητές και ως εκ τούτου έχουμε τον τρόπο μας με τους πελάτες. Τώρα πρέπει να βρούμε έναν τρόπο να τους χτυπήσουμε συνδυάζοντας αυτές οι λέξεις-κλειδιά για να δημιουργήσουν μια γιγαντιαία φράση που μπορεί να είναι έτσι:

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

  2. 5

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

    Επιτρέψτε μου να δοκιμάσω μερικές ακόμη λέξεις για εσάς….

Ποια είναι η γνώμη σας;

Αυτός ο ιστότοπος χρησιμοποιεί το Akismet για να μειώσει το spam. Μάθετε πώς επεξεργάζονται τα δεδομένα των σχολίων σας.