Failure of your code to meet preset thresholds for these metrics should fail the commit stage the same way that a failing test does. Useful metrics include: • Test coverage (if your commit tests only cover 5% of your codebase, they’re pretty useless) • Amount of duplicated code • Cyclomatic complexity • Afferent and efferent coupling • Number of warnings • Code style

