[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / clang-tools-extra / docs / clang-tidy / checks / readability / function-size.rst
blob3360fbd5f1e63034f81d2e018d9b8af5263ac72a
1 .. title:: clang-tidy - readability-function-size
3 readability-function-size
4 =========================
6 `google-readability-function-size` redirects here as an alias for this check.
8 Checks for large functions based on various metrics.
10 Options
11 -------
13 .. option:: LineThreshold
15    Flag functions exceeding this number of lines. The default is `-1` (ignore
16    the number of lines).
18 .. option:: StatementThreshold
20    Flag functions exceeding this number of statements. This may differ
21    significantly from the number of lines for macro-heavy code. The default is
22    `800`.
24 .. option:: BranchThreshold
26    Flag functions exceeding this number of control statements. The default is
27    `-1` (ignore the number of branches).
29 .. option:: ParameterThreshold
31    Flag functions that exceed a specified number of parameters. The default
32    is `-1` (ignore the number of parameters).
34 .. option:: NestingThreshold
36     Flag compound statements which create next nesting level after
37     `NestingThreshold`. This may differ significantly from the expected value
38     for macro-heavy code. The default is `-1` (ignore the nesting level).
40 .. option:: VariableThreshold
42    Flag functions exceeding this number of variables declared in the body.
43    The default is `-1` (ignore the number of variables).
44    Please note that function parameters and variables declared in lambdas,
45    GNU Statement Expressions, and nested class inline functions are not counted.