Do It Again
Embracing test-first development and the web
OK, surely all developers get it by now: test-first development, agile methodology, short release cycles and perpetual buildability and releasability. But what about QA, support, DBA's and other people intimiately invested in the well-being of your application? They could probably be enlisted into the effort, if only not for the requirement that you have to know Java to write automated tests.
In our Feature Article, Fitnesse Testing for Fast-Paced Agile Web Development, Robert J. Miller advocates trying out Fitnesse for testing your web application. Yes, instead of JUnit:
Fitnesse is analogous to JUnit in that it is a testing engine built using Java technologies. However, Fitnesse is different because its user interface is a web application with test suites created and managed using wiki markup. The key difference is that JUnit is primarily used by developers, whereas Fitnesse's user interface is friendly to non-developers, too. The developer extends Fitnesse's testing engine to expose new assertion methods. Then any team member (technical or not) can use the wiki markup to populate and run these new assertion methods. In the end, the developers use both JUnit and Fitnesse; each for different purposes.
Give Me My Commodity Text Widget Features, Please, Ben Galbraith says:
"One of OS X's pioneering features was giving check-as-you-type, right-click-suggest spell checking to every application that wanted it, free of charge. The next text widget feature I want to see commoditized is auto-complete."
Scott Violet covers some
Changes to Actions in 1.6:
"In 1.6 we've overhauled Actions adding new features and fixing a handful of annoying bugs. For this blog I'm going to cover the new features and when you might use them."
In today's Forums,
rcasha lays out the the case
Re: Operator overloading (again) and functions:
"Operator overloading definitely should be added. Those who don't like it are free not to use it. There was a similar debate against generics when this was proposed. Most of the arguments against operator overloading are flawed - in most cases the exact same arguments would apply equally to functions. Sure, an idiot might use the * operator to add instead of multiply, but wouldn't such an idiot create a function called 'multiply(X)' in such circumstances? Couldn't such an idiot create a function called "equals" to alter the contents of an object? If we're going to withhold functionality from Java just because there are idiots out there then might as well return to pencil and paper."
"Has any project given serious interest to developing a standard to allow client and web based versions for JSP and Swing. The current frameworks (struts, spring) actually push more work on the developer for the front-end then supporting multi-client environments. Our XML configuration seem targeted towards the server and persistence layers. Without a true standard at the HTML and desktop client level we will still remain bound to manual writing or rewriting code. I recommend Sun takes some of the lead on this to combat one of .NET's key strength and to keep the maintainability of our code for future iterations."
Bruce Eckel is working through some thoughts on Self-Bounding Generics: "There's one rather mind-bending idiom that appears periodically in Java generics. Here's what it looks like: class SelfBounded
In the past few years there has been a proliferation of frameworks that allow for lighter, faster, and loosely coupled Java projects. These frameworks not only let you decouple your Java project from the application server for unit testing, they also allow for more agile refactoring, testing, and design techniques. Franz Garsombke's Java J2EE Hibernate Extreme Makeover: Architecture Edition tells the story of a large-scale refactoring effort implementing Spring and Hibernate as the underlying infrastructure tools.
In Projects and
the Maven Jini Plug-In helps Maven -based developers get Jini projects up and running quickly, by offering a service generation goal, starting and stopping of the various Jini starter kit services (reggie, mahalo, etc.), and a configurable RMI runtime using JRMP, JERI, or JERI/JSSE.
The Javolution project offers a real-time framework which atempts to make embedded applications faster and more predictable. This is accomplished through safe and transparent object recycling, class and object pre-allocation, and fast base classes in its util, lang, io, and xml sub-packages.
In today's java.net
News Headlines :
Review: JSR 150 - Internationalization Service for J2EE
- TMate 2.0
- Parabuild 2.0
- codavaj 1.1
Registered users can submit news items for the
href="http://today.java.net/today/news/">java.net News Page using our
form. All submissions go through an editorial review before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.net News RSS
Current and upcoming Java
- December 7-10, 2005 - The Spring Experience 2005
- December 10-11, 2005 - Weekend With Experts
- December 10-14, 2005 - ApacheCon 2005
- December 12-16, 2005 - JavaPolis 2005
- January 9-12, 2006 - Enterprise Java Architecture Workshop Mexico
Registered users can submit event listings for the
href="http://www.java.net/events">java.net Events Page using our
href="http://today.java.net/cs/user/create/e">events submission form.
All submissions go through an editorial review before being posted to the
Archives and Subscriptions: This blog is delivered weekdays as
Today RSS feed. Also, once this page is no longer featured as the
front page of java.net it will be
archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.
Embracing test-first development and the web