2

C++ 用の Google などのほとんどのスタイル ガイドでは、行の最大長を 80 文字にすることと、関数呼び出しが正しくフォーマットされるように関数呼び出しに関連するガイドラインを推奨しています。

たとえば、Google のスタイル ガイドがこの問題について述べていることは次のとおりです

関数呼び出しの形式は次のとおりです。

bool retval = DoSomething(argument1, argument2, argument3);

引数がすべて 1 行に収まらない場合は、複数の行に分割し、後続の各行を最初の引数に揃えます。開き括弧の後または閉じ括弧の前にスペースを追加しないでください。

bool retval = DoSomething(averyveryveryverylongargument1,
                          argument2, argument3);

関数に多くの引数がある場合、コードが読みやすくなる場合は、1 行に 1 つずつ配置することを検討してください。

bool retval = DoSomething(argument1,
                          argument2,
                          argument3,
                          argument4);

オプションで、引数ごとに 1 行ずつ、すべての引数を後続の行に配置できます。

if (...) {
  ...
  ...
  if (...) {
    DoSomething(
        argument1,  // 4 space indent
        argument2,
        argument3,
        argument4);
  }

特に、関数シグネチャが長すぎて行の最大長に収まらない場合は、これを行う必要があります。

議論されていないのは、二項演算子にとって何が望ましいかです。これはスタイルの問題なので、特に正しい答えはありませんが、長い変数名や式を持つ二項演算子の場合に人々が好むものについて意見を求めたいと思っていました。

たとえば、単純なケースを考えてみましょう

result = reallyReallyReallyReallyLongVariableName * otherReallyReallyLongVariableName;

私が飛び出す3つの形式があります。

// #1: The assignment operator is treated as a call for the sake of formatting.

result = 
    reallyReallyReallyReallyLongVariableName * otherReallyReallyLongVariableName;

// #2: The binary operator is positioned under the equal sign, my preference.

result = reallyReallyReallyReallyLongVariableName
       * otherReallyReallyLongVariableName;

// #3: There is basic indentation of 4 spaces.

result = reallyReallyReallyReallyLongVariableName
    * otherReallyReallyLongVariableName;

私の意見では、最初の 2 つはもう少し直感的です。Zend Framework Style Guideでは、PHP で文字列を繰り返し連結するために #2 の形式を推奨しています。

3 つ目については、Pear の PHP スタイル ガイド->では、関数呼び出しが繰り返される場合に演算子で新しい行を開始することを推奨しています。

個人的には後者の方が好みですが、他の人の意見はどうなのか気になりました。

4

0 に答える 0