Since discovering a primitive form of the Internet in the late 80's, I think I've gradually turned into a pessimistic programmer.
And it's no surprise; each and every day, my Inbox fills with the most fantastic offers ever. Earn $50,000 in a week, grab one free hour with Saucy Sue and her amazingly graphical webpage, find out anything about anyone, win a Caribbean holiday. Blah blah.
So yeah, I'm pretty wary of anything that wings it way into my e-mail package. And that includes details of the latest code 'generators'.
In the past month, I've been sent press coverage of the latest and greatest. They promise to save you hours upon hours of mundane coding, by automatically dipping into databases and generating data access code to meet your every whim.
They claim to be some sort of cure for the common code.
But I've tried them all and to date I've saved around thirteen seconds of development time—and lost about fifteen-hundred squid in the process. Oh great.
Still, when the people from Sheridan told me about their latest CodeAssist generator, I turned all gullible and thought... hmm, could this one be different?
Supplied on CD-ROM or downloadable from the Internet, installation of CodeAssist was speedy and problem free. My version ate about 6MB of hard disk space.
From the first launch, it's fair to say Access users may feel quite at home. Nope, not due to an innovative interface but rather a welcome screen that features graphics suspiciously similar to those featured in the Office database application.
Hmm, can you spell lawsuit?
Still, eager and raring to go, I took the well-organised quick start tour in an attempt to figure out the application. It turns out that generating code with this application consists of three main steps:
- Choose the database you want to work with
- Drag-and-drop the tables/fields you want to base your code on
- Select the type of code you want to generate from a template library
So I decided to put it to the test...
Unfortunately my initial experience with this first step didn't prove highly successful. I couldn't connect to my Access 2000 database, even when cunningly disguised behind an ODBC connection.
Still, who uses Access 2000—right? Ha!
Instead, I opted for the eternal Access 97 Northwind database—and was instantly given a pretty decent visual schema. Table structures, querydefs and relationships—they were all there—and looking rather impressive, I might add.
All ODBC / Access 97 databases are supported. Apparently.
Enter Stage Step Two
Next, I dragged-and-dropped particular fields from the tables into a Data Object, which is just a holding place for the data your final chunk of code will be based on.
I was particularly impressed by the way CodeAssist automatically handled information originating from multiple tables—identifying simple relationships as required.
Next up, you're required to select a Template library. These are pre-built templates around which your final code is built.
And we're not just talking about class code for Visual Basic programmers here. Oh no—C++, Delphi and Internet HTML templates are also bundled. It's particularly nice to see support for the more advanced (and as such, troublesome) technologies, such as MTS.
If you're a little unsure what type of code you should be generating or whether you should be using the DAO, RDO, ADO or numerous other templates... the help includes a groovy lil' selection wizard to assist in your decision.
But if the supplied templates don't suit your needs, you can always use the built-in Code Template Editor to create your own. Sure, the half-hour you take learning the syntax starts eating away at promises of time-saving code generation—but it could be worth the investment on larger projects.
Showdown at Code Corral
After the three steps, it's time for showdown at Code Corral. With a few clicks of the mouse, your Data Object is automatically turned into a screen full of code, ready for pasting into your latest project.
And for once, it's great to see good quality, personalised code—without a single 'Copyright Sheridan' notice! Very commendable.
Whilst I do have a couple o' small grumblings about CodeAssist, I'm just being a picky old prune. It's fair to call this the best code generator I've seen so far. And trust me, I've seen most of 'em.
<Karl's wallet knowingly groans>
Smart and easy-to-use, this product generates high-quality code and bundles with an extensive range of templates. And at #90, it doesn't break the bank for enterprise development.
Although the task of creating your own templates is available, the burden of having to learn a little extra syntax will probably deter most developers... but the option is there nevertheless.
And to answer my original question; yes, this product certainly is different from the rest. It blasts numerous low-quality competitors right out the skies.
Although such data access code isn't everyone's cup of tea, it does have a market—and CodeAssist meets the demand well. An excellent addition to any self-respecting geek's toolbox.
Erm, so long as you're not using Access 2000 databases.
Order CodeAssist from ComponentSource
You can download a demo of Sheridan's CodeAssist from their website at www.shersoft.com
Review copy kindly provided by retailer Contemporary, www.contemporary.co.uk