C and C++


LANG.FUNCS.TOOLONG : Function Too Long

Summary

The number of lines with code in a user-defined function exceeds the limit specified by the MAX_FUNCTION_LENGTH setting (which defaults to 60).

Properties

Class Name Function Too Long
Significance style
Mnemonic LANG.FUNCS.TOOLONG
Categories
AUTOSARC++14 AUTOSARC++14:A1-4-1 Code metrics and their valid boundaries shall be defined and code shall comply with defined boundaries of code metrics.
CWE CWE:710 Improper Adherence to Coding Standards
  CWE:1080 Source Code File with Excessive Number of Lines of Code
JSF++ JSF++:1 Any one function (or method) will contain no more than 200 logical source lines of code (L-SLOCs).
POW10 POW10:4 Limit functions to no more than 60 lines of text.
JPL JPL:25 Use short functions with a limited number of parameters.
Availability Available for C and C++.
Enabling Checks for this warning class are disabled by default. To enable them, add the following WARNING_FILTER rule to the project configuration file.
WARNING_FILTER += allow class="Function Too Long"

Example

The following example will not trigger a warning of this class with the factory setting of MAX_FUNCTION_LENGTH, but will trigger a warning with MAX_FUNCTION_LENGTH=10 or lower.

int longfunc(int i){ /* 'Function Too Long' warning issued here
                      * when MAX_FUNCTION_LENGTH=10 (or lower) */
  int rv = i;
  rv += 1;
  rv += 2;
  rv += 3;
  rv += 4;
  rv += 5;
  rv += 6;
  rv += 7;
  return rv;
}

Relevant Configuration File Parameters

The following configuration file parameters affect checks for this warning class.