JotD / QotD Ελληνική Λίστα Ανεκδότων (JotD)


Θέμα: Οι περιπέτειες του Ζα χαρία Δεντοφτιάχνω: Επ εισόδιο 32: Τα patter ns δεν κάνουν τον παπά



(nil): Nikos Tsekhs (ntsekhs(@)gmail.com)
Ημερομηνία: Κυρ 11 Νοέ 2007 - 23:49:14 EET

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

Η διοίκηση είπε "εντάξει".

Μαντεύετε όμως ΤΙ έκανε;

Οχι ε;

(Ταχεία είσοδος του Πολύξερου ΤοθελωΧθες, Project Manager της Τρια
Κιλά Κώδικα Α.Ε., στο γραφείο του Ζαχαρία με αποτέλεσμα η τελευταία
μία ώρα δουλειάς του τελευταίου να χαθεί ανεπιστρεπτί λόγω του οτι ο
Πολύξερος επέλεξε να πάρει "άνετη" στάση ακουμπώντας με χάρη το ένα
του χέρι επάνω στο πληκτρολόγιο του Ζαχαρία, πατώντας με τη σωστή -
ακατάλληλη - σειρά τα πλήκτρα Ctrl,A,Del,Enter, ctrl, S, Ctrl, F4,
Enter, πράγμα θανατηφόρο για projects τα οποία δεν βρίσκονται σε
source control).

ΠΞΧ: ΖΑΧΑΡΙΑ, ΣΩΘΗΚΕΣ!
ΔΤΦ: (Απαξιώντας να τραβήξει για άλλη μια φορά τα μαλλιά του, μια και
δεν του έχουν μείνει πολλά πλέον) Εεε, για την ακρίβεια "σώθηκε" το
project μου αλλά αυτό ΔΕΝ ήταν καλό Πολύξερε!
ΠΞΧ: Τι; Α! (Τραβάει τα χέρια από το πληκτρολόγιο που έχει αρχίσει ήδη
να σκούζει) Εεε, καλά, άστα αυτά Ζαχαρία. Εδώ μιλάμε για ΣΥΝΕΡΓΑΤΗ!
ΣΟΥ ΕΞΑΣΦΑΛΙΣΑΜΕ ΣΥΝΕΡΓΑΤΗ!
ΔΤΦ: (Μην μπορώντας να πιστεψει στα αυτιά του την χαρμόσυνη είδηση,
για πρώτη φορά στα χρονικά έχει την επιθυμία να φιλήσει τον Πολύξερο
Τοθελωχθες, αλλά το ξανασκέφτεται άμεσα σε μια κρίση λογικής). ΣΟΒΑΡΑ;
ΠΞΧ: ΣΟΒΑΡΟΤΑΤΑ.
ΔΤΦ: Και ποιός είναι αυτός ο συνεργάτης;
ΠΞΧ: Κάποιος που θα σε απαλλάξει από τη φασαρία του να ΣΧΕΔΙΑΣΕΙΣ την
εφαρμογή! Κορυφαίος στο είδος του!
ΔΤΦ: Μα εγώ είχα ζητήσει κάποιον να γράψει τον ΚΩΔΙΚΑ, οχι...
ΠΞΧ: (Αδιαφορώντας παντελώς για τα λεγόμενα) Είμαι σίγουρος οτι είσαι
ενθουσιασμένος όπως και εγώ! Με τη βοήθειά του θα μπορέσουμε ΕΠΙΤΕΛΟΥΣ
να κάνουμε σωστή σχεδίαση!
ΔΤΦ: Δηλαδή εννοείς οτι εγώ δεν κάνω σωστή...
ΠΞΧ: (Ξαναδιακόπτοντας) Μιλάμε ο άνθρωπος είναι ΑΥΘΕΝΤΙΑ! Με τη
συμβολή του θα μπορέσεις επιτέλους να επικεντρωθείς στο να γράψεις τον
κώδικα ΑΚΡΙΒΩΣ ΟΠΩΣ ΘΑ ΣΕ ΚΑΘΟΔΗΓΗΣΕΙ, πράγμα που ειναι εξάλλου και Η
ΔΟΥΛΕΙΑ σου, και να αφήσεις ΑΝΩΤΕΡΑ μυαλά να ασχοληθούν με τη ΣΩΣΤΗ
σχεδίαση. Ειδες; Δεν γκρίνιαζες πολλές φορές οτι κάνεις πράγματα εκτός
του ρόλου σου; (Με σάλια να τρέχουν)Ιδού, η Τρια Κιλά Κώδικα φρόντισε
για σένα!
ΔΤΦ: Μα εγώ γκρίνιαζα για το οτι έγραφα dummy κώδικα ενώ θα μπορούσαμε
να έχουμε ένα junior που...
ΠΞΧ: Λεπτομέρειες! Εδώ αντί για junior σου βρήκαμε πιό senior και απο
τους senior! Και έχεις και παράπονο;
ΔΤΦ: ...
ΠΞΧ: Αντε, μας περιμένει η Τούλα στο meeting room μαζί με τον νέο σου
συνεργάτη, τον κ. Πατερνάκια Περίπλοκο. Πάμε να δούμε τι θαυμαστά έχει
να μας πει!
ΔΤΦ: ...

Στο meeting room η ατμόσφαιρα είναι πολύ έντονη, κυρίως λόγω της
Τούλας η οποια φρόντισε σήμερα, για άλλη μια φορά, να εφαρμόσει τη
"Συνταγή Επιτυχίας Νο.1 για ενδυνάμωση σχέσεων με πελάτες και
συνεργάτες" (συνώνυμο: τα ρούχα μας διαθέτουν ελάχιστα παραπάνω ύφασμα
από αυτό ενός μπικίνι δύο κομματιών). Φυσικά, συνταγή Νο.2 δεν
υπάρχει.

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

ΠΤΠ: ...το θέμα συνεπώς είναι πολύ απλό: Θα δημιουργήσουμε ένα Proxy
που θα καλεί μερικά Facades και αυτά θα παίζουν το ρόλο του Observer
δημιουργώντας ορισμένα Flyweights μέσω Abstract Factories ενώ στη
συνέχεια θα περνούν τα δεδομένα με τη βοήθεια ενός Command Pattern
στις concrete υλοποιήσεις των Abstract κλάσεων που έχουμε ορίσει στο
Design Document.
ΤΟΥ: (Κλεφτές ματιές γεμάτες πόθο, προσπαθώντας να φαίνεται ουδέτερη)
Χμμμναι, καλό ακούγεται. (Ελαφρύς αναστεναγμός)
ΔΤΦ: (Με ελαφρά απορία) Εεε...
ΠΤΠ: Ε, ναι, εντάξει. Ισως έχουμε κάποια προβλήματα inheritance στο
επίπεδο του δεύτερου business logic layer γιατί η λογική της
μεταβατικής εξάρτησης δεν συνάδει απόλυτα με το Chain of Command που
θα υλοποιήσουμε, παρ'όλα αυτά μπορούμε να αξιοποιήσουμε εκεί το όχι
και τόσο συχνά χρησιμοποιούμενο Double Inversion of Interface
Abstraction Pipeline pattern και θα λύσουμε ενδεχομένως το πρόβλημά
μας.
ΤΟΥ: (Με πρόσωπο κατακόκκινο, γεμάτη έξαψη) ΝΑΙ, ΝΑΙ! Αυτό θα μας
λύσει το πρόβλημα! Ωραία τα λέτε κ. Περίπλοκε!
ΔΤΦ: (Γεμάτος πλέον απορία) Εεεε...
ΠΞΧ: Ε, σταμάτα πιά Ζαχαρία! Ε και ε! Εχεις κάποια απορία; Δεν βλέπεις
τι ωραία που τα λέει ο κ. Περίπλοκος;
ΔΤΦ: Κοιτάξτε, σκέφτομαι οτι ίσως η λογική αυτή είναι ιδιαίτερα
μπλεγμένη για ένα τόσο απλό project..
ΠΤΠ: Το αντίθετο! Η λογική αυτή είναι ιδιαίτερα απλή.
ΤΟΥ: (Γλυκοκοιτάζοντας τον κ. Περίπλοκο) Ε, ναι, αφού μέχρι και εγώ
την κατάλαβα.(Αλλος ένας ελαφρύς αναστεναγμός)
ΠΞΧ: (Με ύφος υπεροψίας κατόχου AI Ph.D) Νομίζω οτι όλοι καταλάβαμε,
Ζαχαρία. Βάλε λίγο το μυαλό σου να δουλέψει!
ΔΤΦ: Εντάξει, εφόσον όλοι συμφωνείτε, είμαι μαζί σας. Ομως συνεχίζω να
έχω τις ενστάσεις μου.
ΤΟΥ: (Ανακατεύοντας μαλλιά και ριχνοντας λοξές ματιές προς τον κ.
Περίπλοκο) Είμαι ΣΙΓΟΥΡΗ οτι ο κ. Περίπλοκος έχει εστιάσει στην
απόλυτα σωστή λύση για το θέμα μας, Ζαχαρία. Θα το δεις στην πράξη.
(Πετάρισμα βλεφάρων)
ΔΤΦ: (Λοξοκοιτώντας την Τούλα με απορία) Εεεε, εντάξει λοιπόν. Θα
αναλάβω να υλοποιήσω τις προδιαγραφές που θα παρέχει ο κ. Περίπλοκος.

Δυο εβδομάδες μετά, και αφότου ο Ζαχαρίας έχει υλοποιήσει στο ακέραιο
τις ακριβείς προδιαγράφες που του έδωσε ο (αδρά αμοιβόμενος) κ.
Πατερνάκιας Περίπλοκος, πραγματοποιείται η δεύτερη συνάντηση με στόχο
την παρουσίαση της εφαρμογής. Η Τούλα συνεχίζει να ακολουθεί τη
Συνταγή Επιτυχίας Νο.1" η οποία τώρα έχει εμπλουτιστεί και με έντονο
make-up.

Ο Ζαχαρίας εισέρχεται στο meeting room έχοντας ένα πλατύ χαμόγελο.

ΠΞΧ: Σε βλέπω χαρούμενο Ζαχαρία!
ΔΤΦ: (Προσπαθώντας να κρύψει ένα ξέσπασμα γέλιου που έρχεται
αυθόρμητα) Χρμμφφ! Ναι!
ΠΞΧ: Πράγμα που σημαίνει οτι η υλοποίηση...
ΔΤΦ: (Ζορίζεται αλλά καταφέρνει να παραμείνει σοβαρός) Η υλοποίηση
έγινε ΑΚΡΙΒΩΣ σύμφωνα με τις οδηγίες του κ. Περίπλοκου.
ΠΞΧ: Αριστα! Οπως όλοι γνωρίζαμε το πρόβλημα εστιαζόταν στο user
interface των ρυθμίσεων που έπρεπε να ορίσει ο χρήστης, δεδομένου του
οτι υπήρχε πληθώρα περίπλοκων και αλληλεξαρτώμενων ρυθμίσεων. Κ.
Περίπλοκε, αν έχετε την καλωσύνη θα μας παρουσιάσετε την λύση που
δώσατε στο εν λόγω πρόβλημα;

(Η Τούλα γλυκοκοιτάει για άλλη μια φορά τον κ. Περίπλοκο πεταρίζοντας
τα βλέφαρα με ταχύτητα ριπής οπλοπολυβόλου)
(Ο Ζαχαρίας έχει σκύψει κάτω από το τραπέζι προσποιούμενος οτι ψάχνει
το στυλό του και λύνεται στο γέλιο)

ΠΠΤ: Φυσικά! Το πρόβλημα λοιπόν ήταν η λειτουργική αλληλεξάρτηση
στοιχείων της κονσόλας διαχείρισης ρυθμίσεων με διάφορα επίπεδα της
υλοποίησης των μοτίβων τα οποία ακολουθήθηκαν στην κύρια εφαρμογή
ΤΟΥ: (Ψιθυριστά) Μα τι ώραία που τα λέει... (ελαφρύς αναστεναγμός)
ΔΤΦ: (Θέλοντας να ξεκαρδιστεί στο γέλιο αλλά συγκρατείται). Αυτό ακριβώς.
ΠΠΤ: Γι'αυτό και σχεδιάσαμε μια οθόνη διαχειρισης ρυθμίσεων η οποία
διακρίνεται για την απλότητα και την άμεση συσχέτισή της με την
επιχειρησιακή λογική του κυρίως έργου, πράγμα που θα έχει άμεσο
αντίκτυπο στη χρηστικότητα. Ιδού:

////////////////
ΕΙΚΟΝΑ
////////////////

ΠΞΧ: (Κοκαλλώνει στη θέση του και δεν κινείται για περίπου 5 λεπτά)
ΤΟΥ: (Κοκαλλώνει στη θέση της και δεν κινείται για περίπου 5 λεπτά)
ΔΤΦ: (Χαμογελάει διακριτικά)

ΠΧΞ: ΤΙ ΕΙΝΑΙ ΑΥΤΟ;
ΠΠΤ: Μα η υλοποίηση των συγκεκριμένων patterns εκφρασμένη σε κονσόλα
ρυθμίσεων από τον ΑΠΛΟ χρήστη.
ΠΞΧ: Μα οι ΑΠΛΟΙ χρήστες σε αυτό το project είναι απόφοιτοι θεωρητικών
επιστημών που μετα βίας ξέρουν να ξεχωρίζουν τον υπολογιστή από το
ποδήλατο!
ΠΠΤ: Κοιτάξτε, είναι πραγματικά απλό.Επιλέγουμε πρώτα υποκωδικό και,
αναλόγως τον αριθμο στον οποίο αυτός λήγει, διαλέγουμε ενέργεια
επικύρωσης κωδικού πληκτρολογώντας στον κωδικό υποκωδικού 1 το
υπόλοιπο της διαίρεσης των τριών τελευταίων ψηφίων του υποκωδικού με
το 656,43. Αν το υπόλοιπο είναι διαφορετικό του 0, πατάμε το κουμπί
"Αναζήτηση" για να δημιουργηθεί το object το οποίο θα μας επιτρέψει να
δημιουργήσουμε την πιστοποίηση ΑΑΖΤΡΣ πατώντας το κατάλληλο κουμπί. Αν
βέβαια πατήσουμε το κουμπί αυτό πριν το κουμπί "Αναζήτηση" θα
δημιουργηθεί ένα δευτερεύον inherited object το οποίο θα
χρησιμοποιήσουμε πατώντας το κουμπί "Σύνθετη"...
ΠΞΧ: (Διακόπτοντας) Μα αυτό είναι πολύ πολύπλοκο!
ΠΠΤ: Απεναντίας! Είναι ό μονος τρόπος για να δοθούν πληροφορίες στο
Abstract Factory το οποίο θα ενεργοποιήσει τους Observers...
ΠΞΧ: (Ξαναδιακόπτοντας) Και ΓΙΑΤΙ ο απλός χρήστης πρέπει να τα γνωρίζει αυτά;
ΔΤΦ: (Μην αντέχοντας άλλο) Μα φυσικά, Πολύξερε, πρέπει να κάνουμε
σεμινάρια Object-Oriented Software Design στους χρήστες! Δεν στο
εξήγησε αυτό ο κ. Περίπλοκος;
ΠΠΤ: (Αντιμετωπίζοντας την κατάσταση ως το πιό φυσιολογικό πράγμα στον
κόσμο). Μα ναι, ειδάλλως οι χρήστες δεν θα είναι σε θέση να
κατανοήσουν τους λόγους για τους οποίους σχεδιάστηκε έτσι ΕΥΡΗΜΑΤΙΚΑ η
κονσόλα διαχείρισης...
ΤΟΥ: Εμένα με συγχωρείτε για λίγο.

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

ΠΠΤ: (Απορημένος) Μα το σωστό design...
ΠΞΧ: ΑΠΑΡΑΔΕΚΤΟ!
ΠΠΤ: Κοιτάξτε, δεν μπορείτε να κρίνετε κατά αυτόν τον τρόπο...
ΠΞΧ: (Εξαλλος) ΕΞΩ!
ΠΠΤ: Μα κ. Πολύξερε, παρακαλώ...
ΠΞΧ: ΕΞΩ ΕΙΠΑ! ΕΞΩ! ΑΝΤΙΟ ΣΑΣ Κ. ΠΕΡΙΠΛΟΚΕ!
ΤΟΥ: (Σε μια κρίση αντι-θηλυκότητας, σφυράει αποδοκιμαστικα με τα δύο
δάχτυλα και φτύνει στον αέρα) ΝΑΙ! ΕΞΩ!
ΔΤΦ: (Δεν μιλάει, προσπαθεί να βρει την αναπνοή του από το πολύ γέλιο)
ΠΠΤ: (Μαζεύοντας τα πράγματά του) Φυσικά όμως θα διεκδικήσω την αμοιβή
μου και τα πνευματικά δικαιώματα...
ΠΞΧ: (Προσπαθώντας να συγκρατηθεί ωστε να μην δαγκώσει) Η αμοιβή σας
είναι στο λογιστήριο και τα πνευματικά δικαιώματα σας τα χαρίζουμε.
Καλή σας ημέρα!

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

ΠΞΧ: (Σαν να μην έχει συμβεί τίποτα) Λοιποοοοον Ζαχαρία για πές μας,
ποιέεεες ήταν οι σκέψεις σου για τη σχεδίαση του εν λόγω project;
ΤΟΥ: Εμένα με συγχωρειτε για λίγο.

(Η Τούλα αφήνει για λίγο το Meeting Room και επιστρέφει και πάλι με
αμφίεση στα πλαίσια της "Συνταγής Επιτυχίας Νο.1 για ενδυνάμωση
σχέσεων με πελάτες και συνεργάτες" έχοντας καταναλώσει μια τεράστια
ποσότητα αρωματικών τσιχλών για να φύγει η σκορδίλα, και χαρίζοντας
ένα σβουριχτό φιλάκι στο Ζαχαρία λίγο πριν καθήσει)

ΔΤΦ: (Απόλυτα ικανοποιημένος) Ε, ναι. Να συζητήσουμε όμως πρώτα για
τις ΥΠΕΡΩΡΙΕΣ;
ΠΞΧ: (Προσπαθώντας να μην δείξει πανικόβλητος, ξεροβήχοντας για να
καθαρίσει ο κόμπος στο λαιμό). Ε, γκουχ. Ναι, ας το συζητήσουμε καλέ
μου φίλε και πανάξιε συνεργάτη...

Χρειάζεται να σας πούμε οτι ο Ζαχαρίας ζήτησε από την Τούλα να
συνεργαστούν στην επανασχεδίαση του project;
Μαλλον οχι.
Χρειάζεται να σας εξηγήσουμε οτι η "Συνταγή Επιτυχίας Νο.1 για
ενδυνάμωση σχέσεων με πελάτες και συνεργάτες" περιλαμβάνει και μέρος
εκτός ωραρίου εργασίας ειδικά για συνεργάτες που το όνομά τους αρχίζει
απο Ζ και είναι προγραμματιστές στην Τρια Κιλά Κώδικα Α.Ε.;
Μάλλον οχι.
Χρειάζεται να σας πούμε οτι ο Πολύξερος Τοθελωχθες άρχισε να πίνει
δυνατά αλκοολούχα ποτά σε ώρα εργασίας μετά από αυτό το περιστατικό;
Μαλλον ναι.

Αντε, στα projects σας τώρα για να μην σας φέρουν κι εσάς έναν
τέτοιον. Ειδικά αν δεν έχετε Τούλα πρόχειρη.
http://www.dotnetzone.gr/cs/blogs/zaxarias/

--
Η Έβελυν γράφει :
Γιατί κατά την θανάτωση των βαρυποινιτών στις ΗΠΑ με ένεση απολυμαίνουν
τις βελόνες ;
________________________________________________________________________
          Joke of the Day ... Ελληνική Λίστα Ανεκδότων
             https://anekdota.duckdns.org
________________________________________________________________________
zax32.jpg

Γραφτείτε και εσείς στην Ελληνική Λίστα ανεκδότων (JotD) και στείλτε τα ανέκδοτά σας!!!

Επιστροφή στον κεντρικό κατάλογο αυτού του αρχείου