Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: Things I Don't Use in Perl

by BrowserUk (Pope)
on Aug 23, 2005 at 18:33 UTC ( #485984=note: print w/ replies, xml ) Need Help??


in reply to Things I Don't Use in Perl

  • 'Singletons' to pretend I'm not using globals.
  • $collection->set_item( 22) = $collection->get_item( 22 ) + 1; when I need $collection[22]++
  • Setters/getters as a thin veneer over C-style structs to pretend they are 'OO'.
  • Group think.

    Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
    Lingua non convalesco, consenesco et abolesco. -- Rule 1 has a caveat! -- Who broke the cabal?
    "Science is about questioning the status quo. Questioning authority".
    The "good enough" maybe good enough for the now, and perfection maybe unobtainable, but that should not preclude us from striving for perfection, when time, circumstance or desire allow.


  • Comment on Re: Things I Don't Use in Perl
    Select or Download Code
    Re^2: Things I Don't Use in Perl
    by skx (Parson) on Aug 24, 2005 at 11:14 UTC

      I can see the argument against using Singletons just as global variables.

      But in many circumstances they are useful. The most obvious two situations I use them are in:

      • Log objects.
      • Database handles.

      Passing a database handle to all methods, or to multiple objects gets sloppy fast - but having a single resource to fetch it from is neat.

      Similarly with debug files; although they are sometimes abused when you realise you need more than one logfile...

      Steve
      --
        I can easily think of two situations where those have driven me MAD.

        I need to connect to a different dateabase than I used to for party of an application. I have to change which variable names I'm using to use the right database.

        I wrote one app, where it had a kernel so to speak, w/ a logger attached. Creating a new kernel would create a second running copy of everything, 'cept the logger, 'cause it was a singleton. Grrr!

        Don't privatize your constructors! If I want a shared object, good, if not, it's just as good. The only thing I ever want globals are things like, numbers. 1 only has one value. 1!

        ----
        Give me strength for today.. I will not talk it away..
        Just for a moment.. It will burn through the clouds.. and shine down on me.

    Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Node Status?
    node history
    Node Type: note [id://485984]
    help
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others wandering the Monastery: (5)
    As of 2014-09-19 22:35 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      How do you remember the number of days in each month?











      Results (149 votes), past polls