tushartushar / DesigniteJava

Detects smells and computes metrics of Java code
https://www.designite-tools.com/products-dj
Apache License 2.0
172 stars 64 forks source link
code-smells design-smells java metrics object-oriented-metrics technical-debt

DesigniteJava

DesigniteJava is a code quality assessment tool for code written in Java. It detects numerous design and implementation smells. It also computes many commonly used object-oriented metrics.

Features

Where can I get the latest release?

You may download the executable jar from the Designite website.

Compilation

We use maven to develop and build this application with the help of Eclipse IDE and libraries. To create a runnable jar, run the following command in the directory where the repository is cloned:

mvn clean install

If you use Eclipse:

Execute the tool

After the previous step is done:

Notes

The implemented LCOM is a custom implementation to avoid the problems of existing LCOM alternatives. Traditional, LCOM value may range only between 0 and 1. However, there are many cases, when computing LCOM is not feasible and traditional implementations give value 0 giving us a false sense of satisfaction. So, when you find -1 as LCOM value for a class, this means we do not have enough information or LCOM is not applicable (for instance, for an interface). More details can be found here (though, it is an old post): https://www.tusharma.in/revisiting-lcom.html

Contribute

Feel free to clone/fork/contribute to the DesigniteJava open-source project.

Report Bugs

Open an issue if you encounter a bug in the tool.

Credits

Apart from me, following people generously contributed efforts to this project.