0

現在、古いコードをリファクタリングしているので、コードが他の人にとってどのように見えるべきかを考える時間があります。私は多くの問題を解決しましたが、ネストされた論理条件に対して適切な構文を準備するにはどうすればよいか、いつも疑問に思っています。コードの次の部分があると仮定しましょう。

bool param1;
int  param2;

var result = ( param1 == toCheck.param1) && // to achive condition it always has to be true
    ((param2 == toCheck.param2)) ||
( (!param1) &&
(param2 == defaultValueForParam2));

 // to pass condition param! has to be always true AND ( (params 2 has to be equal) OR (param1 has to be false AND param2 has to be equal with default value)

誰にとっても読みやすいようにするには、どのようにフォーマットする必要がありますか? 条件の作成にルールはありますか?非常に複雑な条件が必要な場合、一般的な解決策は間違っているのでしょうか?

私の意図は、括弧の使い方、インデントの使い方、グループ化などについて質問することでした。

4

1 に答える 1

2

複雑な状態にあり、複雑さを軽減できない場合は、

  1. 適切な変数名を持つ
  2. 呼び出しコードが明確になるように、明確な名前で小さなヘルパー関数を記述します
  3. 条件が複数の場所で使用されている場合は、自分自身を繰り返さないでください (2 を参照)。
  4. これを単純化できるかどうかを再検討してください。ブール値フラグが本当に必要ですか?
于 2013-08-22T09:41:04.330 に答える