Loading ...
Sorry, an error occurred while loading the content.

[XP] hi, test-first newbie here

Expand Messages
  • Kucera, Rich
    Sometimes a Great Notation ... The little tugboat of Test-first Discipline, cardboard fist with middle digit extended, duct-taped to the mast, visible
    Message 1 of 1 , May 31, 2002
    • 0 Attachment
      Sometimes a Great Notation
      -------------------------------------------------

      The little tugboat of Test-first Discipline, cardboard fist with middle
      digit extended, duct-taped to the mast, visible from the river banks.

      On one bank stands the various industry "container-lets": JSPs, servlets,
      orblets, EJBs, Droplets, JHTML, ASP, ActiveX Bean Bridges, session
      expiration call-back listeners, proprietary runtime services, various GUI
      models, etc.

      On the other shore there are the Data Sources, Connections and Persistence
      Concerns--RDBMSs, ODBMSs, XML, ORDBMSs, Behemoth Financials Packages,
      LDAP servers, whatever--the Data Model and Information Sources.

      Many fancy, large complicated tugs with flow analysis simulators and
      automated-log-tying are secured to Proprietary Docks at either side of the
      river. Uniformed operators on board, drooling in dishes of pizza-flavored
      cheese snacks.

      Your little tug, with its two buttons, COMPILE and TEST, is towing
      thousands of Objects, all linked together in large collections. In radio
      contact, you have your highly agile, small auxiliary aluminum Exploratory
      Test-first Programming craft whizzing around, quite independent of any
      "project" or "release cycle", tweaking the large tow in various places,
      prying apart little jams before they're big jams. The tow is about a mile
      long.

      The object model is independent of both shores. Discipline keeps the code
      testable, out of container-lets, and persistence concerns shoved far down
      into subclasses or mediated on an as needed basis, by a COTS mapping
      package, Toplink for example.

      That is, to get your money's worth out of a package like Toplink, you
      develop your object model independent of persistence concerns, everything
      testable in the object layer, and separate persistence concerns to deal
      with later--map an attribute here and there, as needed. Everything goes
      much faster because the problem to be solved is clearer, that's where you
      get your money's worth.

      Also, doing Persistence Mapping Later buys you the ability to *have*
      attributes at all, not to mention methods, if you can still remember how
      to write them. The notion of developing object model separate from data
      model has been "endorsed" by Giga, but the practicality of it is kind of
      lost with their articles. You'd lump in other information sources, such
      as LDAP, with the data model.

      Fooey, you think, if only I had time to do this, now I'm going to have
      to

      rename my stupid JDBCUserInfoSource class...

      tests still broke from the last refactoring...put on Levee Breaks and see if
      you can get a Green Bar before the phase shifting kicks in...nope, going
      down, going down down
    Your message has been successfully submitted and would be delivered to recipients shortly.