NARGS counts the number of formal arguments declared by each function, method, or closure. mehen reports per-function values plus aggregate statistics (total, min, max, average) at the file level.Documentation Index
Fetch the complete documentation index at: https://mehen.ophi.dev/llms.txt
Use this file to discover all available pages before exploring further.
What mehen emits
| Key | Type | Description |
|---|---|---|
nargs | int | Total arguments across all functions and closures in the space. |
nargs.average | float | Mean argument count per function. |
nargs.functions | int | Total arguments declared by named functions. |
nargs.functions_min / _max / _average | — | Aggregates over named functions only. |
nargs.closures | int | Total arguments declared by closures/lambdas. |
nargs.closures_min / _max / _average | — | Aggregates over closures only. |
nargs.average_functions | float | Mean per named function. |
nargs.average_closures | float | Mean per closure. |
nargs.total_functions | int | Total of nargs.functions (alias). |
nargs.total_closures | int | Total of nargs.closures (alias). |
Why both functions and closures are reported
Closures are first-class values in TypeScript, Rust, Ruby, Kotlin, Python, etc. Mixing closure parameter counts with named-function parameter counts hides the long-tail of inline lambdas. mehen reports both buckets so you can see, for example, that a file’s named functions average 2 arguments while its callbacks average 4.How to read it
Conventional ceilings (no universal authority — pick one for your repo):Per-function nargs | Interpretation |
|---|---|
| 0–3 | Easy to call. |
| 4–5 | Borderline; consider a parameter object. |
| 6+ | Refactor candidate. |
References
- Sonar: Metrics definitions.
- Martin, R. C. (2008). Clean Code, ch. 3. (Soft cap of 3 for “ideal” function arity.)