Haskell code quality tool.
Homplexity aims to measure code complexity, warning about fragments that might have higher defect probability due to bad coding style on-the-large:
too large functions
too deeply nested conditions
too few comments
homplexity
Aims to assess complexity and quality of Haskell code by measuring relative length of declarations, their depth, and code-to-comment ratio.
For parsing it uses haskell-src-exts, and cppHs.
Cabal builds across GHC versions:
If you just need latest static executable it is always available here.
Official releases are on Hackage
USAGE:
After installing with cabal install homplexity
, you might run it with filenames or directories with your Haskell source
homplexity Main.hs src/
Patches and suggestions are welcome.
You may run homplexity --help
to see options.
For html output, run:
homplexity --format=HTML Main.hs src/
How does it work?
Homplexity is based on the idea of Metric
s that are applied to various CodeFragment
types extracted automatically from parsed source. Each metric is then assessed whether it crosses any thresholds, and depending on them the severity of the message is chosen.
To see all metric values, set the warning --severity
to INFO
.