357 Lotus blogs updated hourly. Who will post next? Home | Downloads | Events | Pods | Blogs | Search | myPL | About 
 
Latest 7 Posts
On Kate Bush
Sat, Aug 30th 2014 142
On blogs
Thu, Aug 28th 2014 153
Nation Apparently Believed in Science at Some Point
Tue, Jul 22nd 2014 226
CSC “mini” event
Mon, Jun 2nd 2014 228
Atom
Tue, May 6th 2014 311
Agile, agility?
Mon, Mar 24th 2014 362
Phew!
Sun, Mar 23rd 2014 386
Top 10
Phew!
Sun, Mar 23rd 2014 386
Off-line web apps: local Web SQL & Javascript
Wed, Jun 22nd 2011 380
Agile, agility?
Mon, Mar 24th 2014 362
The JVM in 9.0.1
Mon, Nov 18th 2013 321
Atom
Tue, May 6th 2014 311
Oh you’ve got to come to this...
Thu, Feb 20th 2014 308
ThoughtWorks release their technology radar
Wed, Jan 29th 2014 300
Your language is not dead
Tue, Feb 25th 2014 288
</2013><2014>
Tue, Dec 31st 2013 274
Netgear ReadyNAS & OS X: fixing printing
Mon, Sep 12th 2011 253


Making code test-able
Ben Poole    

There are two things a developer needs to make his or her output testable (and therefore more robust. Hopefully):

  1. The “How would I test for xyz” mind-set, and;
  2. A fast simple development environment

That’s it, that’s all you need. The first comes with practise, and the second is pretty straightforward nowadays. Of late I have been writing a lot of PHP in Eclipse, Coda and the new kid on the block, Sublime Text 2 (check it out: very nice). All of these tools make it easy to write test-able code, because one simply pulls in the unit testing framework of choice, and then one writes code: job done, very low barrier to entry.

As a small aside, I am constantly amazed at how much PHP stuff goes out the door with minimal-to-no tests, especially when one considers the fluid nature of the language (its typing and such). This contrasts sharply with the mind-set we see amongst Rubyists, who regard their language’s dynamism as raison d’être for excellent test coverage.

So a diligent approach to testing is one thing, but contrast my comments about editors above with other recent experiences writing Java in an Eclipse-based editor called Domino Designer (some of you may be familiar with it). Making that code test-able has been more problematic, given DDE’s reluctance to play nice with plug-ins like JUnit, and the way a typical Java agent is structured. So, a couple of tips:

  1. Abstraction is key: write as much of your Java code as you can abstracted away from the Domino object model. This way you can code in a proper Eclipse instance, and you can write easy test cases. Break up big problems into small solvable components, and test them. Your Java agents should be very “light”—minimal code perhaps just looping a collection or whatever. Let your custom, tested classes do the heavy lifting.
  2. If you’re like me, and not at Lotusphere, you will be missing out on a session from Messrs. Myers and Robichaux covering effective Java in the Domino environment. As soon as their presentation is made available, I have it on good authority that you will want it, and that the Wookiee has some tricks up his sleeve when it comes to JUnit :-).
  3. (Finals words of “wisdom”: it is a lot quicker, and simpler, to write test-able code up-front. Adding tests after the fact is always more burdensome).



    ---------------------
    http://benpoole.com/weblog/201201170736
    Jan 16, 2012
    94 hits



    Recent Blog Posts
    142


    On Kate Bush
    Sat, Aug 30th 2014 5:01a   Ben Poole
    I do not have the body of work in my past that she has—but to see a mature woman create something so idiosyncratic, risk it all in the public view and then triumph on her own terms is a joy. Read more&hellip; Hear, hear. Off to see Kate Bush in less than two weeks, and cannot wait! [read] Keywords:
    153


    On blogs
    Thu, Aug 28th 2014 2:41a   Ben Poole
    My blog’s older than Twitter and Facebook, and it will outlive them. It has seen Flickr explode and then fade. It’s seen Google Wave and Google Reader come and go, and it’ll still be here as Google Plus fades. When Medium and Tumblr are gone, my blog will be here. Google Plus is still a thing? ;-) Read more&hellip; [read] Keywords: facebook google twitter
    226


    Nation Apparently Believed in Science at Some Point
    Tue, Jul 22nd 2014 12:43a   Ben Poole
    Historians studying archival photographs from four decades ago have come to the conclusion that the U.S. must have believed in science at some point. Read more&hellip; (beautiful typography too). [read] Keywords:
    228


    CSC “mini” event
    Mon, Jun 2nd 2014 2:54p   Ben Poole
    As you may have seen, we at LDC Towers, together with esteemed colleagues at The Turtle Partnership are looking to run a second Collaboration Stack Community event, this time a “mini” session, taking an evening slot on the 16th July. As before, there will be two tracks or themes to the event, and your participation is encouraged, nay mandatory! The details: CSCEvent Evening event this July. Do take a look at the post, and register if you are interested. As ever, it’s free! [read] Keywords: collaboration community
    311


    Atom
    Tue, May 6th 2014 2:14p   Ben Poole
    I am writing this post in Github’s new “hackable” programming editor, Atom. It’s pretty nifty, and I’ve been using it for a few weeks now. For general mark-up and the like it has supplanted the old main-stay, Coda 2, which has been having some issues for a little while now (frankly, it tries to be too many things). Whether I shall ditch Sublime Text as well (which Atom is very similar to, in terms of looks and core functionality), remains to be seen. Time will tell [read] Keywords:
    362


    Agile, agility?
    Mon, Mar 24th 2014 12:34p   Ben Poole
    One of the architects of the agile manifesto, Dave Turner, has written an eloquent piece on how the term “agile” has been horribly misappropriated: The word “agile” has been subverted to the point where it is effectively meaningless, and what passes for an agile community seems to be largely an arena for consultants and vendors to hawk services and products. Sadly, this mirrors my experience, and probably that of many other IT practitioners out there. The term has been [read] Keywords: collaboration community




    386


    Phew!
    Sun, Mar 23rd 2014 2:50p   Ben Poole
    Well that was a fair few weeks of effort on all fronts. As some of you will know, we recently co-hosted the inaugural Collaborative Stack Community event and good fun it was too. The venue was fab (the Soho Hotel, picked out by good chum and colleague Abigail Roberts at Ravendesk), the attendees were in good voice, our speakers were great, and as ever Gab and Mike organised things wonderfully. Me? I just turned up and looked pretty. Many thanks to everyone who took part, and keep your eye on t [read] Keywords: community twitter
    288


    Your language is not dead
    Tue, Feb 25th 2014 3:34a   Ben Poole
    This: Meanwhile, I suspect 80% of programmers are still working on problems where their development velocity is a much bigger problem than how many hits their server can take before falling over. I dunno, maybe my view of the industry is skewed. I just don’t think there are really that many developers, statistically speaking, who can cite system capacity as their current problem #1. Or #2, or #3. Excellent exposition of those interminable “language blah is dead” memes that just w [read] Keywords: lotusscript development server
    308


    Oh you’ve got to come to this...
    Thu, Feb 20th 2014 2:08p   Ben Poole
    If you read the sites of my good friends and colleagues the Turtle Partnership, Matt White and the Wookiee (and why, pray, would you not?), you will be aware of a new, free event taking place in a month. On Friday, March 21st we are holding an informal techie(ish) get-together for those interested in collaborative technologies. This will take place in Soho, London, and will not be a sales-fest in any way—nor will it be vendor / platform-specific: come one, come all! CSC Event will most d [read] Keywords:
    300


    ThoughtWorks release their technology radar
    Wed, Jan 29th 2014 1:43a   Ben Poole
    The ThoughtWorks technology Radar is out, and it makes for interesting reading. Some of the “Adopt” languages and frameworks are new to me, and one in particular warrants further investigation: Dropwizard is an opinionated combination of several lightweight Java tools and frameworks, many of which would merit mention in their own right. The package embodies many of our favorite techniques, including an embedded HTTP server, support for RESTful endpoints, built-in operational metrics and hea [read] Keywords: java server




Created and Maintained by Yancy Lent - About - Blog Submission - Suggestions - Change Log - Blog Widget - Advertising - Mobile Edition