This document discusses cyclomatic and cognitive complexity as measures of code complexity. Cyclomatic complexity measures the number of linearly independent paths through a program's source code and was proposed in 1976. Cognitive complexity was proposed in 2018 to also account for modern code constructs that can make code easier to understand. The key differences in calculating the two complexities are that cognitive complexity assigns lower weights to constructs like ternary operators and switch statements. Both complexities should be used as inputs to code reviews to prioritize testing and refactoring of more complex code.