Take time for an occasional high level look at your code
Do you ever sit down and look at your own code, or anyone else's? Code always looks so different on paper than it does in a text editor or an IDE, the desperation of copy-and-paste code, and too-busy methods with 60 or more characters of indentation becoming just that much more obvious.
Code reviews seem a little less popular in this test-happy era, but just because your code passes tests, does that mean it's well written? Horribly written, baffling code could pass its automated tests just fine... and yet be practically impossible to maintain or expand. A set of eyes on the code can keep a project on the rails.
Problem is, as Srivaths Sankaran points out:
Conducting a code review, however, can also be a costly proposition, due to the involvement (interruption) of several individuals and their loss of productivity. With the context switch and the cost to the project as a whole, code reviews can add a sizable lengthening of the project timeline. The purist may point to the benefits of identifying, diagnosing, and fixing problems early in the project lifecycle.
So when and how should you do a review?
Sri's Feature Article,
Code Reviews looks at the purpose and process of code reviews, and considers just how often you should do reviews and what you can hope to get out of them. Citing examples from published sources on software development and project management, this is a set of habits you might not initially be in a hurry to embrace, but that promises to improve the ultimate quality of your software.
In today's Weblogs.
David Herron wonders whether
Open sourcing leads to incompatible forks?
"We have a lot of people reassuring us -- the market highly values the compatibility of Java, and that the market highly values compatibility even in the face of highly valuing the freedom granted by the OSI-compatible licenses."
One Laptop Per Teacher, Evan Summers writes:
"Barbara Kurshan's 'Philanthropy and GELC' got me to writing about my views on the wheres, whys and hows of computers in schools.
Finally, Mike Grogan offers
WS-Reliable Messaging and Session Support (Part 2):
"This is Part 2 in a series of articles on supporting sessions using WS-ReliableMessaging. In my talk at Java One, I showed a demo of a Web Service endpoint that needs Reliable Messaging to work properly."
In Java Today,
the NetBeans Community is pleased to announce a release of NetBeans 6.0 (Dev version) Milestone 2. The new and noteworthy features include window system improvements that allow for full screen mode and floating windows, debugging improvements with method exit breakpoints and return values display, and integration of JMeter into the profiler.
Following Sun's announcements about their path to an open-source JDK, Harmony project leader Geir Magnusson has blogged extensively on the topic of Open Source Java. "Like Glassfish and OpenSolaris, Sun won't do it at once. Some Sun people think they can, but they can't. There has been 10 years of very fast, very competitive growth in that codebase, and I'm betting that Sun doesn't have a real clue what's in there." He follows up by noting the project renaming, and then suggesting that Sun could just join Harmony.
Joining the existing Java application frameworks, Qt Jambi brings Trolltech's Qt to Java . The developer blog entry Qt Jambi Preview Released spells out what's available in the preview: "What we have so far is most of the Qt core modules available, Core,
Gui, OpenGL and Sql based on Qt 4.1.3. In addition to the Qt libraries
we also have UIC for Java, called Juic so you can use Designer to
design GUI's. We intend to base the final version on Qt 4.2 which
means we;'ll have access to all the new things in Qt 4.2, such as
The discussion of Sun's progress towards open-sourcing their JDK continus in today's Forums.
aberrant starts out by dispelling concerns about
"This just isn't going to be the case. While people could and probably will go and make some wacky J#GTK/QT$ version of the language it won't be Java. There has been no talk of freeing up the rights to the "Java" name. Anyone who is going to go threw the hassle of making a serious version is going to worry about compatibility. Anyone not making a serious version, well, why worry about that?"
Re: Flexibility (Licensing),
hubick describes the limitations of the CDDL and goes on to say
"I think CDDL+GPL (w classpath exception, or LGPL) would give me most of what I want. CDDL+GPL+Apache might be good enough to not drive away Harmony folks and their customers, and thus make everyone happy. If you go GPL+Apache though, I don't know what CDDL offers in addition."
In today's java.net
News Headlines :
SOA Suite Developer Preview
- SCAP-Java Initial
- Java Application
Monitor API 2.2
Plug-in for Eclipse 2.0
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
- August 18-20 - New York Software Symposium 2006
- September 6-8 - EclipseWorld
- September 12-15 - Enterprise Java Architecture Workshop Chicago
- September 12-14 - JavaZone 2006
- September 15-17 - Pacific Northwest Software Symposium 2006
- September 22-24 - Western Canada Java Software Symposium 2006
- September 29-October 1 - New England Software Symposium 2006: Fall Edition
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.
Take time for an occasional high level look at your code