Visualizing code dependencies

When you want to improve your code, make it more testable, you start to realize there is too much dependencies within the code, far more complex than you can handle. There are several tools you could use to make it obvious so you can act on later.

 

If you’re working on Java, then there are a list of tools you could select from:

  1. https://developers.google.com/java-dev-tools/codepro/doc/features/dependencies/dependencies : this could handle multiple projects, within a project …, but the graph takes a bit time to understand;
  2. Structure101 http://structure101.com/: 
    it provides an architecture review and a wealth of functionality including cyclical dependencies (also fat classes etc..) and the ability to ‘experiment’ by moving classes into different packages to reduce coupling.You can view the dependencies high level or drill down to the class level or even a mixture.
  3. CodeCity

Things to consider when choosing a tool:

1) Scalability of visualizing

2) Learning Curve

3) Integration with development toolchains

4) Experimental advice 

5) Opensource

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: