elvis_core
elvis_core copied to clipboard
max_function_length counts multiple function clauses as a single function
Bug Description
Note: might not be a bug.
max_function_length
complains if a function definition spans over a given number of lines (by default: 30)...
... but it's also taking into account the multiple function clauses. So 15 clauses with 1 line each, in the body, would count for 30 lines. Is this expected?
To Reproduce
16 function clauses with 2 line (definition) each, 1 line for head, 1 line for body.
Expected Behavior
? no warning, maybe?
rebar3
Logs
Not applicable.
Additional Context
Not relevant.
Yeah, this rule was always a bit… blunt.
If we're going to adjust it, then it will need a rename as max_function_clause_length
, I guess.
Or similar, yes. For the time being I'm Ok with just adding an exception in my rules, ofc. This was mostly just me wondering if we got (from the parsing) the size of each clause or not...
I'm interested in working on this one.
Maybe the best is to rename the existing function to max_function_clause_length
as @elbrujohalcon suggested and make another one with the name max_function_length
.
Do you agree?
Yeah, go for it!!
Since this is a breaking change (not sure how you're gonna deal with that) you should remember to update the MIGRATION guide.