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

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

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