メインコンテンツ

AUTOSAR C++14 Rule A7-1-7

Each expression statement and identifier declaration shall be placed on a separate line

説明

ルール定義

各式ステートメントと識別子宣言は、個別の行に配置するものとします。

根拠

C++ では、同じ行に複数のステートメントを配置したり、同じステートメントで複数の識別子を宣言したりできます。ただし、こうすると可読性が損なわれる可能性があります。たとえば、同じ行で複数の識別子を宣言すると、後で宣言を見つけるのが難しくなる可能性があります。

Polyspace 実装

2 つの宣言または式ステートメントが同じ行に連続して存在する場合、チェッカーは違反を報告します (ステートメントがマクロ定義の一部である場合を除く)。

トラブルシューティング

ルール違反が想定されるものの、Polyspace® から報告されない場合は、コーディング規約違反が想定どおりに表示されない理由の診断を参照してください。

すべて展開する

#include <cstdbool>

extern bool checkForBounds(int); 

bool func(int arg) {
    int x = arg, y = arg, z;                 //Noncompliant 
    x++; y--;                                //Noncompliant
    z = checkForBounds(x) && checkForBounds(y);   //Compliant
    return z;                                     //Compliant
}

この例では、関数 func() の最初の 2 行が準拠していません。これは、同じ行に複数の宣言または複数の式があるためです。

チェック情報

グループ: 宣言
カテゴリ: Required、Automated

バージョン履歴

R2019a で導入