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.
This story, "JArchitect analyzes Java code, revealing structures, dependencies, and design flaws" was originally published by PCWorld.
Holding yourself to this set of rules will help to keep your systems running smoothly and your users...
When developers discuss who the world’s top programmer is, these names tend to come up a lot
When veteran software developers have trouble writing code, they often turn to one (or more) of these...
A data breach at credit bureau Experian may have exposed data from T-Mobile USA on about 15 million...
Mobile development skills are on the rise, and according to Foote Partners, if you have any of these...
The tools leverage the Apache Cordova device APIs for developing Android, iOS, and Windows apps.
Solar City said it has created a photovoltaic panel capable of 22% efficiency, 7 percentage points...