The Daily WTF: Curious Perversions in Information Technology
Welcome to TDWTF Forums Sign in | Join | Help
in Search

DynaCode

Last post 02-23-2008 12:04 PM by MasterPlanSoftware. 33 replies.
Page 1 of 1 (34 items)
Sort Posts: Previous Next
  • 02-20-2008 9:35 PM

    DynaCode

     

    DynaCode

    Hard coding is bad. Every IT professional knows this. Even the word “hard” has negative meanings: difficult, unforgiving, etc. I've worked in plenty of shops where hard coding can incur ridicule from peers and reprimand from managers.

    PHB: “So implemented the new enhancement?”
    Developer: “Yeah, I hard coded it.”
    PHB: “You what?! Hard coding is bad! Even my grandmother knows hard coding is bad, and she's dead! Consider yourself on super-double-top-secret probation!”

    Despite these consequences, we still hard code. Sometimes it just isn't worth it to make something more flexible than is presently needed. Indeed, with good design patterns, you can hard code in such a way that introducing later flexibility has limited impact. Yet these advantages have never received enough press to overcome the bias that permeates the IT industry with respect to hard coding.

    So how can we still reap the benefits of hard coding without enduring the repercussions?

    It is for this reason I am introducing a concept: DynaCode. DynaCode solves the problems of hard coding while enjoying all of the benefits of it. DynaCode, as its name implies, leverages dynamic coding, not hard coding. Whereas hard coding is equivalent to chiseling in stone, DynaCoding is flexible. DynaCode has no negative imagery associated with its name and in fact sounds quite positive.

    PHB: “So did you fix your hard coding for the new enhancement?”
    Developer: “Yeah, I DynaCoded it.”
    PHB: “DynaCode? Well, that's better. In fact, that sounds better than what was envisioned! For such foresight and hard work, you deserve a raise... and a promotion!”

    So what is DynaCode? DynaCode is a software development practice by which the source code contains codified within it the rules of the system. The rules are codified in such a way as to meet the requirements.

    But where DynaCode really shines is when the requirements change. The inevitable moment of a requirement change is what those who dislike hard coding fear the most. Following a straight forward set of simple steps, your DynaCoded system will easily meet the new requirements:

    1. Modify the previously codified rules in the source code so that they meet the new requirements

    2. Compile

    3. Test

    4. Deploy

    These steps are the key to the new paradigm of DynaCode. The profound difference may be too subtle to recognize at first, but once recognized, the benefit is clear. Investors, managers and everyone in between will be able to rest assured knowing that their software has been developed not with hard coding, but with DynaCode.

    Hard Coded

    DynaCoded

    // Hard-coded to save time

    if(state.equals(“CA”)) {

    goodDriverDiscount = true;

    }

    else {

    goodDriverDiscount = false;

    }

    // DynaCoded for MAXIMUM flexibility

    if(state.equals(“CA”)) {

    goodDriverDiscount = true;

    }

    else {

    goodDriverDiscount = false;

    }

    Witness these testimonials:

    Before DynaCode, our systems were hard coded. I dreaded requirements changes. I would even double estimates to discourage them! But, now, with DynaCoding, our estimates are half of what they were and our customers love me for it!”
    -- PHB

    I used to be a hard coder out of necessity, but it was affecting my professional life – I nearly lost my job. Now, thanks to DynaCode, I'm on the fast-track to success! Thanks, DynaCode!”
    -- Developer

    They DynaCode... do you?

     

  • 02-20-2008 10:20 PM In reply to

    Re: DynaCode

     

    Filed under:
  • 02-20-2008 10:54 PM In reply to

    Re: DynaCode

     

  • 02-20-2008 10:59 PM In reply to

    Re: DynaCode

    Trinition:
    Even the word “hard” has negative meanings

    I am hard right now. 

  • 02-20-2008 11:56 PM In reply to

    Re: DynaCode

    Pure genius. 


    Enterprise Software Design Lifecycle:

    1) Receive business case approval
    2) Leverage a dynamic solution
    3) ???
    4) Value added = Profit!
  • 02-21-2008 1:24 AM In reply to

    Re: DynaCode

    How is it that goodDriverDiscount = state.equals(“CA”)); isn't DynaCoding?

    More to the point, how is it that the result of a boolean test isn't really a boolean and needs to be made explicitly boolean?

    I understand the joke, but who really codes like that, hard-coded or otherwise?

  • 02-21-2008 2:21 AM In reply to

    • tster
    • Top 10 Contributor
    • Joined on 04-11-2006
    • Natick, MA
    • Posts 1,292

    Re: DynaCode

    mrprogguy:

    How is it that goodDriverDiscount = state.equals(“CA”)); isn't DynaCoding?

    More to the point, how is it that the result of a boolean test isn't really a boolean and needs to be made explicitly boolean?

    I understand the joke, but who really codes like that, hard-coded or otherwise?

     

    That kind of thing is too good for hard coders and not good enough for DynaCoders. 

    The pig go. Go is to the fountain. The pig put foot. Grunt. Foot in what? ketchup. The dove fly. Fly is in sky. The dove drop something. The something on the pig. The pig disgusting... see bio for the earth shattering ending.
  • 02-21-2008 2:26 AM In reply to

    Re: DynaCode

    What is this mug nonsense?

     

  • 02-21-2008 4:25 AM In reply to

    Re: DynaCode

    asuffield:

    Trinition:
    Even the word “hard” has negative meanings

    I am hard right now. 

    I am DYNA right now!

  • 02-21-2008 4:51 AM In reply to

    Re: DynaCode

    Morbii:

    What is this mug nonsense?

    It's part of a joke that was unfunny several months ago when it was first posted. Now it's just people's way of saying they don't like the thread.
  • 02-21-2008 5:11 AM In reply to

    Re: DynaCode

    Cap'n Steve:
    Now it's just people's way of saying they don't like the thread.

    It's always been that. The Mug was specificially designed to this end.

    — Flurp.
  • 02-21-2008 7:56 AM In reply to

    Re: DynaCode

    dhromed:

    Cap'n Steve:
    Now it's just people's way of saying they don't like the thread.

    It's always been that. The Mug was specificially designed to this end.

    And I don't feel this deserves a mug.  It has a very front-page feel to it and I can tell the guy took his time writing it, maybe years.

    I guess I'm back.

    Please continue to spam the addresses below.

    PLEASE SPAM:
    jtobin@ohioinstituteofhealthcareers.edu
    jtobin@ohiobusinesscollege.edu
  • 02-21-2008 8:04 AM In reply to

    Re: DynaCode

    belgariontheking:
    I can tell the guy took his time writing it, maybe years.

    And used an actual word processor, then copypasta'd the junk in here. 

    — Flurp.
  • 02-21-2008 8:29 AM In reply to

    Re: DynaCode

    Can I leverage synergies for win-win solutions in strategic partnerships by utilizing the power of DynaCode?
  • 02-21-2008 8:36 AM In reply to

    • PhillS
    • Top 200 Contributor
    • Joined on 03-07-2006
    • Colchester, UK
    • Posts 160

    Re: DynaCode

    This DynaCode needs more XML.

    Bonus points if you can implement the DynaCode XML in DynaCode and form an infinite loop of horror. 

  • 02-21-2008 9:26 AM In reply to

    Re: DynaCode

    Actually, I coined the term a few weeks ago as a joke in a meeting.  I've been hearing it catch on around my office, so last night, I quickly penned... err... typed this in OpenOffice.org, then copy & pasted into the WYSIWIG editor for posts.  So the term has been in my head for a few weeks, but the content of this post came together over about 15 minutes of writing.

  • 02-21-2008 10:14 AM In reply to

    • cvi
    • Not Ranked
    • Joined on 03-10-2006
    • Posts 19

    Re: DynaCode

    dhromed:

    And used an actual word processor, then copypasta'd the junk in here. 

    TRWTF is of course that the post looked decent. He even managed to place the different pieces of code next to each other. Considering the success I've had formatting my posts, that must literally taken years.
  • 02-21-2008 11:41 AM In reply to

    Re: DynaCode

    Yup. The enterprise version even has full XML support.

     

    I believe SharePoint is written using DynaCode. 

    <xml>
    <enterprisey>Yes</enterprisey>
    <synergistic>Very</synergistic>
    <collaberative>You Betcha</collaberative>
    <useful>Nope</useful>
    <performance>Not Much</performance>
    <efficiencies_gained>None</efficiencies_gained>
    <development_time>Eternity</development_time>
    </xml>
  • 02-21-2008 12:29 PM In reply to

    Re: DynaCode

    belgariontheking:
    It has a very front-page feel to it and I can tell the guy took his time writing it, maybe years.
    That's true. But SpectateSwamp has also worked for years on his "Desktop Search", and it's not good.

    The story is indeed very well written, but it didn't make me laugh or smile, and therefor it is
    # The Brillant Paula Bean
    # Author:: derula
    # Copyright:: Copyright (c) 2005-2008 Paula Bean
    # License:: Originally distributed under a
    # proprietary license by Paula Bean.
    # Ruby port by derula published
    # under the same terms as Ruby's.

    # This module provides a method to return the
    # brillance of Paula Bean. This can be achieved
    # by calling the module method get_paula.

    module Paula_Bean

    # This constant stores the essence of Paula
    # Bean's brillance. This is a private
    # constant, so you MAY NOT use
    # Paula_Bean::PAULA to access it! Please use
    # the get_paula method instead.

    PAULA = "Brillant"

    # Returns Paula Bean's brillance.
    def self.get_paula
    return PAULA
    end
    end
  • 02-21-2008 12:34 PM In reply to

    Re: DynaCode

    belgariontheking:
    And I don't feel this deserves a mug.  It has a very front-page feel to it and I can tell the guy took his time writing it, maybe years.
     

    It kind of was a front-page article.  At least similar to one, about the opposite of hard coding:

    http://thedailywtf.com/Articles/Soft_Coding.aspx 

  • 02-21-2008 2:40 PM In reply to

    Re: DynaCode

    MasterPlanSoftware:

     

    Oh, come on. I get the impression that all recent threads were nominated for the mug. At least this one is funny and nicely formatted.
    ╩юфют√ь ёЄЁрэшЎрь яюЁр эр яхэёш■.

    Visit #TDWTF @ SlashNET - the semi-official WTF IRC channel.
  • 02-21-2008 2:44 PM In reply to

    Re: DynaCode

    Spectre:
    MasterPlanSoftware:

     

    Oh, come on. I get the impression that all recent threads were nominated for the mug. At least this one is funny and nicely formatted.
     

    Right. Because I am the only one who felt it was mug worthy.

  • 02-21-2008 3:05 PM In reply to

    Re: DynaCode

    Of course all Californians are good drivers. I want to see the DynaCode™ for New Jersey though.

     

    There are three kinds of people: those who make things happen, those who watch things happen and those who wonder what happened.
  • 02-21-2008 3:46 PM In reply to

    Re: DynaCode

    MasterPlanSoftware:

    Spectre:
    MasterPlanSoftware:

     

    Oh, come on. I get the impression that all recent threads were nominated for the mug. At least this one is funny and nicely formatted.
     

    Right. Because I am the only one who felt it was mug worthy.

    That wasn't directed specifically to you, mind you. I quoted you because you're the one who usually nominates.
    ╩юфют√ь ёЄЁрэшЎрь яюЁр эр яхэёш■.

    Visit #TDWTF @ SlashNET - the semi-official WTF IRC channel.
  • 02-21-2008 4:03 PM In reply to

    Re: DynaCode