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 : 長すぎる関数

要旨

ユーザー定義関数の行数が MAX_FUNCTION_LENGTH により設定されている値(デフォルトは 60)を超えています。

プロパティ

クラス名 Function Too Long
日本語クラス名 長すぎる関数
クラス分類 スタイル (style)
ニーモニック LANG.FUNCS.TOOLONG
カテゴリー
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.
対応言語 C および C++ で利用可能です。
有効/無効設定 このワーニングクラスのチェックはデフォルトで無効になっています。チェックを有効にするにはプロジェクト設定ファイル (configuration file)に以下の WARNING_FILTER ルールを追加してください。
WARNING_FILTER += allow class="Function Too Long"

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;
}

関連のある設定ファイルパラメータ

設定ファイルの以下のパラメータがこのワーニングクラスのチェックに影響します。

 

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