Forum Controls
Spotlight Features

The Rich Engineering Heritage Behind Dependency Injection

Andrew McVeigh takes us on a tour of the rich heritage behind dependency injection, what it represents, and tells us why its here to stay.

NetBeans 6: Matisse Updates

NetBeans 6 delivers great updates to the Matisse GUI builder. Spend a few minutes with Roman Strobl and get an expert briefing on what's new and what has changed.

Introduction to Groovy Part 3

In this, the third and final installation of Andres' Introduction to Groovy series, you learn about how Groovy handles variable numbers of arguments, named parameters, currying, and more about Groovy operators. Including, some new operators.

Easier Custom Components with Swing Fuse

Swing Fuse (actually just Fuse), is a framework designed to make it easier to create your own custom desktop components. In this article, Daniel Spiewak shows you how to get started and provides sample source code you can download.

Benchmark Analysis: Guice vs Spring

Willam Louth shows how he uses JXInsight Probes to investigate probable performance issues with code bases that he is not familiar with. He also highlights possible pitfalls in creating a benchmark, as well as in the analysis of results.
Replies: 6 - Pages: 1  
Threads: [ Previous | Next ]
  Click to reply to this thread Reply

IntelliJ IDEA: Analyzing Code Dependencies (part I)

At 12:14 PM on Feb 22, 2006, Alexandra Rusina wrote:

If you have a large project with several modules using a set of libraries, any operation that requires an essential structural change can be a disaster. For example, you may decide to stop using one of the libraries, or extract API, or simply extract a new module. In any of these cases, you need to analyze dependencies within your project. Well, it’s easy to say.
Let’s consider the case when you need to extract a new module and make it dependant only on API. It means that first you need to search through code and find references to resources not included into API. It may take hours of dull work.
IntelliJ IDEA’s solution is the dependency analyzer that can show you all the module dependencies in one convenient window. Furthermore, this analyzer can find not only dependencies between modules, but also between packages. It can even find dependencies of a certain class.
On the screenshot below, you can see how IntelliJ IDEA shows dependencies of a package.

dependencies

On the left panel you can see the classes of the analyzed package ( com.intellij.sisyphus.ea.util ), while the right panel shows all the libraries and classes on which this package depends.
But that’s only half of the way. You need not only the information about dependencies, but also the exact code that actually “establishes” this dependency (references to the class from the package, usages of the library classes, etc.)
To find all the usages of a certain package, class, or library within the analyzed code, just click the item in the right panel. For example, the following screenshot shows all the usages of the com.intellij.sisyphus.ea.lexer classes within the com.intellij.sisyphus.ea.util package.

dependencies and usages

Now having all the information about dependencies, you can process them according to your needs.

To learn more about dependencies analysis in IntelliJ IDEA, see the feature description at www.jetbrains.com .
1 . At 1:48 AM on Feb 23, 2006, James wrote:
  Click to reply to this thread Reply

Re: IntelliJ IDEA: Analyzing Code Dependencies (part I)

I see that you're highlighting some aspects of IDEA. May be you would want to write about LocalHistory.
I always knew that it was like a CVS feature but I never used it until recently. Man, that feature saved my live! It works amaysingly well and it is very flexible.
I guess that few people really use it because they think they know what it does but never tried it. That's another feature that sets IDEA apart in my opinion.
2 . At 1:32 PM on Feb 24, 2006, Alex Tkachman wrote:
  Click to reply to this thread Reply

Re: IntelliJ IDEA: Analyzing Code Dependencies (part I)

James, thank you for your idea. We will definitely cover this topic in one of the next tips.
"Develop with pleasure"
alex(dot)tkachman(at)jetbrains(dot)com

3 . At 4:45 AM on Feb 27, 2006, sadegh wrote:
  Click to reply to this thread Reply

Re: IntelliJ IDEA: Analyzing Code Dependencies (part I)

Hi All,
I want to construct a task graph for code Distribution
as you know first we must know about dependencies then finding methods and also classes that have max cohesion and min coupling then put them at tasks and then Distribut them between PEs ok?
if there is any tools that can help me to do this as a case study please guid me
Thanks before
sadegh
4 . At 5:08 AM on Mar 2, 2006, Alexandra Rusina wrote:
  Click to reply to this thread Reply

Re: IntelliJ IDEA: Analyzing Code Dependencies (part I)

IntelliJ IDEA does not have this functionality. You may try to look here: http://www.lattix.com
5 . At 1:15 PM on Mar 10, 2006, Werner Keil wrote:
  Click to reply to this thread Reply

Re: IntelliJ IDEA: Analyzing Code Dependencies (part I)

Nice link. I referred to it in one of the answers to your second part.

It does however use Eclipse, so if one really needs exactly what they provide, I doubt, they would spend 1000 $ or more on a copy of latix, which comes as a plugin to the otherwise mostly free Eclipse and then spend about half as much on IDEA just to have 2 IDE's ? ;-)
6 . At 1:30 PM on Mar 15, 2006, Neeraj Sangal wrote:
  Click to reply to this thread Reply

Re: IntelliJ IDEA: Analyzing Code Dependencies (part I)

Just a minor clarification ...

There is a community edition of the Lattix plugin which is free. It has no limitations on the size of the eclipse project and includes full analysis capabilities including the partitioning algorithms.

What it does not have are the bells and whistles such as reporting, image export etc. It also does not have design rules for managing the architecture through the life cycle.

Neeraj Sangal
Lattix, Inc.

thread.rss_message