A Java code quality assessment tool that detects design/implementation smells and computes object-oriented metrics.
DesigniteJava is a static code analysis tool specifically for Java that detects design and implementation smells while computing object-oriented metrics. It helps developers identify code quality issues, architectural flaws, and maintainability problems in Java projects. The tool provides automated assessment to support refactoring and technical debt reduction.
Java developers, software architects, and development teams who need to assess and improve code quality, maintainability, and design in Java codebases.
It offers comprehensive smell detection covering both design and implementation issues combined with standard object-oriented metrics in a single tool. The custom LCOM implementation provides more accurate cohesion analysis than traditional approaches.
Detects smells and computes metrics of Java code
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Detects 17 design smells and 10 implementation smells, covering a wide range from architectural flaws like Cyclic Hierarchy to code-level issues like Magic Number, as detailed in the README.
Uses a custom LCOM implementation that avoids pitfalls of traditional methods, providing more reliable metrics for class cohesion, including handling edge cases with -1 values, as explained in the notes section.
Computes 13 standard metrics such as Cyclomatic Complexity and Depth of Inheritance Tree, offering quantitative data to support refactoring and maintainability improvements.
Combines smell detection with metrics to help developers prioritize issues, making it effective for reducing technical debt in Java codebases.
The tool deletes all existing files in the output folder, requiring users to ensure it's empty, which poses a risk of data loss and complicates repeated analyses.
Operates as a standalone command-line tool with no built-in support for IDE plugins, CI/CD pipelines, or modern build tools, making automated workflows cumbersome to set up.
Lacks a GUI or web-based dashboard, forcing reliance on command-line output and manual interpretation, which can be less accessible for team collaboration.