JArchitect analyzes Java code, revealing structures, dependencies, and design flaws

By Ian Harac, PC World |  Software, development tools, JArchitect

Once you get past "Hello World," code can become very complex. Programmers in business environments must often deal with code written by dozens of developers over a span of many years, often with shifting standards for design and documentation. Even a simple bug fix or enhancement can involve tracing through a maze of twisty little subroutines, all alike. JArchitect is a powerful tool for mapping that maze.

JArchitect can analyze a code base, applying dozens of different default metrics to provide both statistical analysis and pinpoint likely areas in need of refactoring. The reports are exhaustive, and relatively easy to understand and drill down into.

It takes some time to learn what's most important and what isn't for your project and needs, but JArchitect provides a high level of customizability that can help with that, too. A query language called CQL allows you to define tests and constraints, so you can apply your code standards instead of JArchitect's defaults.

JArchitect displays the information it gathers in a variety of ways, from graphical trees ofcalls and dependencies, to cross-referencing graphs, to a psychedelic "nested box" graph that displays the relative size of different code modules. Most of these are configurable and interactive, so you can zoom out to get an overview of a sprawling project, or zoom in to look at a small section of code.

I ran JArchitect on an older project of mine, and the program revealed a number of issues which showed poor coding style or which could lead to bugs (such as having an utility function dependent on a specific form, rather than having the form pass the needed values to the utility). This is the sort of thing which tends to happen when trying to develop to a tight deadline, with the intent, always, of going back and "doing it right," but it's very easy to forget such promises in the heat of development. JArchitect reminds you... before your boss does at your next code review.

There are a few downsides to JArchitect. First, it's not a tool for casual or non-commercial developers. At $500 for a single-user license, someone not deriving steady income from their software will need to seriously consider the benefits. The 20-day trial should help with that. Second, the documentation is sparse and written in broken English. Since JArchitect is presented as a high-end, enterprise-level program, there's no excuse for not having someone go over the documentation and clean up the writing.

There are also also small things like the links for JArchitect demos going to videos for a related program, NDepend (the icon for JArchitect is also the NDepend icon), or the "Site Map" link on the JArchitect site giving a 404 error as of this writing. These are minor, but sloppiness in small areas is troubling when a user, or a company, trusts the tool to do precise and accurate analysis.

Bottom line? Get the trial. See how much it reveals to you. I tested the Windows edition, but there are editions for Linux and Mac, too. Particularly in a business, especially one with extensive software development, a tool such as JArchitect can easily pay for itself with time saved in both understanding and maintaining code.

Don't miss...

Top 10 programming skills that will get you hired
Top 10 programming skills that will get you hired

25 crazy and scary things the TSA has found on travelers

8 famous software bugs in space

  Sign me up for ITworld's FREE daily newsletter!
Email: 
 


Originally published on PC World |  Click here to read the original story.
Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Answers - Powered by ITworld

ITworld Answers helps you solve problems and share expertise. Ask a question or take a crack at answering the new questions below.

Join us:
Facebook

Twitter

Pinterest

Tumblr

LinkedIn

Google+

Ask a Question
randomness