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


Θέμα: Οι περιπέτειες του Ζαχαρία Δεντοφτιάχνω: Επεισόδιο 2: Ο κατηραμένος IFης



(nil): Nikos Tsekhs (ntsekhs(@)gmail.com)
Ημερομηνία: Κυρ 10 Ιούλ 2005 - 11:09:32 EEST

        
ΕΠΕΙΣΟΔΙΟ 2: Ο κατηραμένος IFης

Μια συνηθισμένη μέρα στο γραφείο. Ο πρώτος κουβάς καφέ έχει ήδη καταναλωθεί, και ο Ζαχαρίας βρίσκεται στο στάδιο της ενδοσκόπησης. Αυτοσυγκεντρώνεται προκειμένου να έχει άλλη μια αποδοτική και δημιουργική ημέρα, εξερευνώντας το ασφυκτικά γεμάτο mailbox του, το οποίο αποτελείται κατά κύριο λόγο από σοβαρά, άκρως επείγοντα επαγγελματικής φύσεως μηνύματα: "StocholmClubbing.pps", "AnIdiotWithASillyBear.wmv", "HolidayCalculator.xls". Ωπ, τι είναι αυτό; Μήνυμα από τον αρχι-δηβέλοπερ! (no? pun intented - Βοήθειά μας).

________________________________________
From: Απόλυτος Ξερόλας [mailto:tapairnoxontra(@)triakilakodika.gr]
Sent: Monday, May 23, 2005 09:00 AM
To: zaxariasdtf(@)triakilakodika.gr
Subject: URGENT FUNCTIONALITY ENHANCEMENT

Ζαχαρία,

σου επισυνάπτω τον κώδικα του project "FTYS'TA" που υλοποιήσαμε πρόπερσι για τον όμιλο ξενοδοχείων ASYLLIPTIMPIXLA AE. Θα έχεις ακούσει για αυτό. Ειχαν κάποια προβλήματα με τα συνεργεία καθαριότητας (κυρίως μικροαπάτες στη διαχείριση από την εταιρία που ανέλαβε την υπηρεσία) και ήθελαν να παρακολουθούν έσοδα/έξοδα και τα συναφή λεπτομερώς.

Ομως λόγω της συγχώνευσης με τον όμιλο BETADINE SA χρειάζονται αλλαγές στον τρόπο υπολογισμού των εσόδων τους, και συγκεκριμένα σε ο,τι αφορά τις δαπάνες καθαρισμού. Σε παρακαλώ εντόπισε το συναφές functionality και υλοποίησε τις παρακάτω αλλαγές:

(ακολουθούν οι αλλαγές)

Θα πρέπει να είναι up and running ASAP. Οσο πιό ASAP τόσο μεγαλύτερο bonus θα πάρω. Θα σε κεράσω, το υπόσχομαι.

Τακης

ΔΤΦ: (Σκέφτεται) Χα! Piece of cake. Θα το τελειώσω σε κανα μισάωρο και μετά θα έχω όλη τη μέρα να απαντάω σε αυτόν τον Patrick στο dotnetzone.gr που αρέσκεται να ακολουθεί όλο τη μέθοδο 1.β....θα τον κάνω να γίνει παλαιοπώλης σήμερα....για να δούμε τον βρωμοκώδικα αυτόν....
(κλικ κλικ κλικ open? yes, κλικ κλικ....χμ, ενα αρχείο μόνο, everything.vb? ΠΩΣ; 89333 γραμμές κώδικα; )

Στο σημείο αυτό ο Ζαχαρίας χρειάστηκε να βγεί επειγόντως για να αγοράσει χάπια για την πίεση (και ενα jack daniels). Ωσπου να γυρίσει, σας παραθέτουμε ένα απόσπασμα από τον κώδικα για να περάσει η ώρα.

'----------------------------------------

'THIS IS FUNCTION CALCULATEREVENUE

'----------------------------------------

Friend Function CalculateRevenue( _

      ByVal strRevenue as int64, ByRef blnResult as int32) As Boolean

     

     

      '-----------------------------

      ' HANDLE SITUATIONS

      '-----------------------------

      If m_str15a = "1" andalso m_str13b = "true" or m_int8c = -1 Then

            

             Try

                    'Return 10000

                    blnResult=Convert("10000", int32)

                   

                    'Return TRUE

                    Return (true)

                   

                    '--------------------------

                    ' ERROR HANDLING (EXCEPTION)

                    '--------------------------

             Catch ex as Exception

            

             'If something goes wrong, give error

                    Throw New Exception ("Exception Occured")

            

             Finally

                   

                    'Try something to fix problems. See code.

                    Try

                 'Call SuperComponent.TryToAdjustEverything

                          SuperComponent.TryToAdjustEverything()

                    '--------------------------

                    ' ERROR HANDLING (EXCEPTION)

                    '--------------------------

                    Catch Ex as Exception

                          'If something goes wrong, give error

                          Throw New Exception ("Exception Occured Inside")

                    End Try

             End Try

                                          Else IF m_str67z = "none" Then

            

             'Make m_redVariable equal to 1

             m_redVariable = 1

            

             'If m_redVariable is not zero

             If m_redVariable<>0 Then

                    'Do nothing

                    'If m_redVariable is zero

             Else

                   

                    'If nothing ok check those

                    If m_intAllOk = "no" andalso blnString = 546 Then

                   

                  'Call SuperComponent.DieWithSomething

        If SuperComponent.DieWithAnAwfulSound(m_objAlwaysOpenConnection) Then

                               

                       'Call me recursively. Everything will be allright then

                        CalculateRevenue (-5, m_greenVariable)

                                

                          End If

                   

     End If 'End inner if

                               End If 'End outer if

      End If 'End outer-outer if

End Function

ΔΤΦ: ....(γκλουπ)....
(σηκώνει το τηλέφωνο)
ΔΤΦ: Απόλυτε;
ΑΠΞ: Ελα Ζαχαρία. Το πηρες; Δεν είναι τίποτα, ετσι; Piece of cake.
ΔΤΦ: Εχμ, (βαθιά αναπνοή). Ποιος το έχει φτιάξει αυτό;
ΑΠΞ: (Βαθειά αναπνοή). Ζαχαρία, δεν χρειάζεται να σκαλίζουμε το παρελθόν τώρα. Ο γέγοναι γέγοναι.
ΔΤΦ: ΠΟΙΟΣ το έχει φτιάξει αυτό Απόλυτε;
ΑΠΞ: Ζαχαρία, δεν εχει σημασία. Σημασία έχει τώρα να γίνει η δουλειά
ΔΤΦ: Απόλυτε, το comment 'TODO: (c) Apolytos "Supercoder" Kserolas - I don't know WTF is going on here σου λέει τίποτα;
ΑΠΞ: Ζαχαρία! Ολοι περάσαμε από αυτά! Ολοι κάναμε λαθάκια! Τωρα μπορείς να συγκεντρωθείς στην επέκταση;
ΔΤΦ: Θα χρειαστεί refactoring. Πολύ. Παρα πολύ.
ΑΠΞ: .....
ΔΤΦ: Εξωφρενικά πάρα. Πολύ. Πολύ.
ΑΠΞ: .....
ΔΤΦ: Απιστευτα και χυδαία πολύ. Refactoring. Απίστευτα.
ΑΠΞ: .....
ΔΤΦ: .....
ΑΠΞ: .....
ΔΤΦ: Refactoring είναι η επανασυγγραφή του κώδικα σε απλούστερη και πιό συντηρήσιμη μορφή.
ΑΠΞ: Ζαχαρία....μπορεί να έκανα μερικά λαθάκια αλλα ΣΕ ΔΙΑΒΕΒΑΙΩΝΩ ΟΤΙ ΞΕΡΩ τι ειναι rifactouring. Λοιπον...
ΔΤΦ: REfactOring.
ΑΠΞ: Ναι, whatever. Λοιπον δεν προλαβαίνουμε. Ακολουθησε την πεπατημένη και γράψε νέο functionality ως έχει.
ΔΤΦ: Δεν υπάρχει πεπατημένη.
ΑΠΞ: Μα ακολουθείται σαφώς ένα design pattern.
ΔΤΦ: Σαφως. Λεγεται "πλυσιμο χρωματιστών στους 90 βαθμούς μαζί με τα λευκά".
ΑΠΞ: Διακρίνω ειρωνεία;
ΔΤΦ: (γκουχ) οχι Απόλυτε, είναι ευφημισμός για το Observer Strategy of Abstract Factory Decorators που σαφώς ακολουθεί ο κώδικας. Σου.
ΑΠΞ: Φυσικά. Ειναι δοκιμασμένο Gang of Five Design Pattern. Διαβασε και κανενα βιβλίο.
ΔΤΦ: (Σκεφτεται) μανα γιατί με γέννησες και με άφησες να γίνω developer....
ΔΤΦ: Φυσικά, φυσικά....
ΔΤΦ: Απόλυτε;
ΑΠΞ: Παρακαλώ.
ΔΤΦ: Γκουχ. Θα χρειαστεί πολύ δουλειά. Για το νέο functionality θα πρέπει να αφαιρέσω το κομμάτι των Factories και να το αντικαταστήσω με τα Satisfactories. Επίσης οι Observers θα πρέπει να αποκτήσουν πιό ενεργό ρόλο και να γίνουν Executives. Τελος οι Decorators θα αντικατασταθούν από Gardeners. Μονο έτσι θα λειτουργήσει το πράγμα. Θα χρειαστώ δύο μήνες και πίτσα στο τέλος κάθε βάρδιας. Με διπλό τυρί.
ΑΠΞ: Χαίρομαι που το βλέπεις θετικά και που έχεις τόσο καλό motivation. Καπου έχω διαβάσει και εγώ για τους Gardeners, πραγματικά πολύ λειτουργικό. Θα εισηγηθώ 3 μήνες και ένα καλό bonus στο τέλος του project. Σε ευχαριστώ πολύ για την αφοσίωσή σου Ζαχαρία!
ΔΤΦ: Παντα, μα ΠΑΝΤΑ στη διάθεσή σου Απόλυτε.......
(κλικ)
ΔΤΦ: ΜΑΝΟΥΛΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑΑ

http://www.dotnetzone.gr/forums/ShowForum.aspx?ForumID=45

--
Η Έβελυν (Jokes-Robot(@)ceid.upatras.gr) γράφει :
Μικρός μου έλεγε η μάνα μου: Φάε το φαΐ σου να μεγαλώσεις να πας και σχολείο.
Και εγώ το έτρωγα...
________________________________________________________________________
          Joke of the Day ... Ελληνική Λίστα Ανεκδότων
             https://anekdota.duckdns.org
        ___ Η JotD βγαίνει σε Ελληνικά και Greeklish ___
________________________________________________________________________

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

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