JavaScript is not currently enabled, but is required for full CodeSonar manual search and browse functionality.

If you are viewing this file in your hub's Web GUI, enable JavaScript in your browser: you will also need it for GUI functionality.

If you opened this file directly from disk, your browser may be directly suppressing JavaScript functionality: certain browsers perform this suppression on local files (but not files delivered by web servers) for security reasons.

CodeSonar® 9.2p0 CONFIDENTIAL CodeSecure Inc
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.

 

To report problems with this documentation, please visit https://support.codesecure.com/.