| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Language.Haskell.Homplexity.Assessment
Contents
Description
Main module parsing inputs, and running analysis.
Synopsis
- measureAll :: Metric m c => Assessment m -> (a -> [c]) -> Proxy m -> Proxy c -> a -> Log
- measureTopOccurs :: (Data from, Metric m c) => Assessment m -> Proxy m -> Proxy c -> from -> Log
- measureAllOccurs :: (Data from, Metric m c) => Assessment m -> Proxy m -> Proxy c -> from -> Log
- type Assessment m = m -> (Severity, String)
- warnOfMeasure :: (CodeFragment c, Metric m c) => Assessment m -> Proxy m -> Proxy c -> c -> Log
- data HFlag_moduleLinesWarning = HFlagC_moduleLinesWarning
- flags_moduleLinesWarning :: Int
- data HFlag_moduleLinesCritical = HFlagC_moduleLinesCritical
- flags_moduleLinesCritical :: Int
- assessModuleLength :: Assessment LOC
- data HFlag_functionLinesWarning = HFlagC_functionLinesWarning
- flags_functionLinesWarning :: Int
- data HFlag_functionLinesCritical = HFlagC_functionLinesCritical
- flags_functionLinesCritical :: Int
- assessFunctionLength :: Assessment LOC
- data HFlag_functionDepthWarning = HFlagC_functionDepthWarning
- flags_functionDepthWarning :: Int
- data HFlag_functionDepthCritical = HFlagC_functionDepthCritical
- flags_functionDepthCritical :: Int
- assessFunctionDepth :: Assessment Depth
- data HFlag_functionCCWarning = HFlagC_functionCCWarning
- flags_functionCCWarning :: Int
- data HFlag_functionCCCritical = HFlagC_functionCCCritical
- flags_functionCCCritical :: Int
- assessFunctionCC :: Assessment Cyclomatic
- data HFlag_typeConDepthWarning = HFlagC_typeConDepthWarning
- flags_typeConDepthWarning :: Int
- data HFlag_typeConDepthCritical = HFlagC_typeConDepthCritical
- flags_typeConDepthCritical :: Int
- assessTypeConDepth :: Assessment ConDepth
- data HFlag_numFunArgsWarning = HFlagC_numFunArgsWarning
- flags_numFunArgsWarning :: Int
- data HFlag_numFunArgsCritical = HFlagC_numFunArgsCritical
- flags_numFunArgsCritical :: Int
- assessNumFunArgs :: Assessment NumFunArgs
- metrics :: [Program -> Log]
Showing metric measurements
measureAll :: Metric m c => Assessment m -> (a -> [c]) -> Proxy m -> Proxy c -> a -> Log Source #
measureTopOccurs :: (Data from, Metric m c) => Assessment m -> Proxy m -> Proxy c -> from -> Log Source #
measureAllOccurs :: (Data from, Metric m c) => Assessment m -> Proxy m -> Proxy c -> from -> Log Source #
Measure all occurences of a given CodeFragment with a given Metric,
then use Assessment on them and give a list of Log messages.
Arguments come in the following order:
1. Assessment for the value of the Metric.
2. Metric given as Proxy type.
3. CodeFragment given as Proxy type.
4. Program containing CodeFragments.
type Assessment m = m -> (Severity, String) Source #
Type of functions that convert a Metric into a log message.
warnOfMeasure :: (CodeFragment c, Metric m c) => Assessment m -> Proxy m -> Proxy c -> c -> Log Source #
Assessments of severity for used Metrics.
Module definition checks
data HFlag_moduleLinesWarning Source #
Constructors
| HFlagC_moduleLinesWarning |
Instances
| Flag HFlag_moduleLinesWarning Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_moduleLinesWarning -> FlagData | |
data HFlag_moduleLinesCritical Source #
Constructors
| HFlagC_moduleLinesCritical |
Instances
| Flag HFlag_moduleLinesCritical Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_moduleLinesCritical -> FlagData | |
Function definition checks
Number of lines of code within function body
data HFlag_functionLinesWarning Source #
Constructors
| HFlagC_functionLinesWarning |
Instances
| Flag HFlag_functionLinesWarning Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_functionLinesWarning -> FlagData | |
data HFlag_functionLinesCritical Source #
Constructors
| HFlagC_functionLinesCritical |
Instances
| Flag HFlag_functionLinesCritical Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_functionLinesCritical -> FlagData | |
Decision depth of function definition
data HFlag_functionDepthWarning Source #
Constructors
| HFlagC_functionDepthWarning |
Instances
| Flag HFlag_functionDepthWarning Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_functionDepthWarning -> FlagData | |
data HFlag_functionDepthCritical Source #
Constructors
| HFlagC_functionDepthCritical |
Instances
| Flag HFlag_functionDepthCritical Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_functionDepthCritical -> FlagData | |
Cyclomatic complexity of function definition
data HFlag_functionCCWarning Source #
Constructors
| HFlagC_functionCCWarning |
Instances
| Flag HFlag_functionCCWarning Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_functionCCWarning -> FlagData | |
data HFlag_functionCCCritical Source #
Constructors
| HFlagC_functionCCCritical |
Instances
| Flag HFlag_functionCCCritical Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_functionCCCritical -> FlagData | |
Type signature complexity
Type constructor depth in each type signature
data HFlag_typeConDepthWarning Source #
Constructors
| HFlagC_typeConDepthWarning |
Instances
| Flag HFlag_typeConDepthWarning Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_typeConDepthWarning -> FlagData | |
data HFlag_typeConDepthCritical Source #
Constructors
| HFlagC_typeConDepthCritical |
Instances
| Flag HFlag_typeConDepthCritical Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_typeConDepthCritical -> FlagData | |
Number of function arguments mentioned in each type signature
data HFlag_numFunArgsWarning Source #
Constructors
| HFlagC_numFunArgsWarning |
Instances
| Flag HFlag_numFunArgsWarning Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_numFunArgsWarning -> FlagData | |
data HFlag_numFunArgsCritical Source #
Constructors
| HFlagC_numFunArgsCritical |
Instances
| Flag HFlag_numFunArgsCritical Source # | |
Defined in Language.Haskell.Homplexity.Assessment Methods getFlagData :: HFlag_numFunArgsCritical -> FlagData | |