私の質問はこの前の質問に関連していますが、提供された解決策は、以下に概説した問題に対処していません。Google 検索の後、このような if ステートメントの長い条件文の特定の問題に対処するコード スタイルのガイドラインは見つかりませんでした。
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
また:
if( isNull(value1) || isToLong(value1) || hasBadFormat(valule1) ){
doSomething();
}else{
doSomethingElse();
}
これら 2 つのスタイルの問題点は、true ブロック内のコードを見つけて条件から分離するのが難しいこと、または長い条件文の後で正しい次の行を判断するのが難しすぎることです。特に if ステートメントが関数または他の if ステートメント内で既にいくつかのタブでインデントされている場合は特にそうです。
次のようなことを行うのが望ましいでしょうか。
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
または、このスタイルは、次のいずれかの方法で新しい条件をそれぞれインデントする方がよいでしょうか。
if( isNull(value1) ||
isToLong(value1) ||
hasBadFormat(valule1)){
doSomething();
}else{
doSomethingElse();
}
if( isNull(value1)
|| isToLong(value1)
|| hasBadFormat(valule1) ){
doSomething();
}else{
doSomethingElse();
}
私が提案したものとは異なる、またはより良い方法でこの問題に対処するコーディング スタイル ガイドライン (おそらく企業のコーディング スタイル ポリシー) を持っている人はいますか? どちらが望ましいですか。私が言及したソリューションの長所または短所を見つけることができますか?