Wednesday, January 07, 2009

Code Quality: Coupling, Afferent and Efferent and Code Quality

All Software Projects deviate from their original design, as the time goes by. This is specially true
as code base gets bigger and new developers join in.

Maintaining the intention of design and keep things manageable, becomes tougher and tougher.

To handle this kind of situation, we need some support from Tools to properly understand
the coupling of code, their complexity and their test coverage. Without this information,
it is nearly impossible to know the cost of change in system.

Thankfully, we have JDepend which can help us deal with these kind of issues. It gives
us a measure of afferent (how many packages depend on you) and efferent coupling (how many
packages you depend on), Abstactedness, Instability.

Do read this article to know more about it.

Good news is that you can integrate this into your eclipse workspace too, via an eclipse plugin.

No comments: