0

必要な場合を除いて、3値の条件演算子(?:)を使用しないように言われました。

私の質問は、なぜですか?

if / elseがそれぞれ1つのステートメントのみになる場合は、三項演算子を使用するのが好きです。私には見た目も書きやすいと思います。

繰り返しますが、それが本当に短い場合に限ります(if / elseの1行)。ネストされた複数の三元が悪である理由を理解できます。

では、このやり方の問題は何ですか?それはすべて好みの問題ですか、それともパフォーマンスコストがありますか?

また、elseまたはelseifに2つまたは3つを超える条件がある場合は、通常、switchステートメントを使用します。これは良い習慣ですか?

4

3 に答える 3

3

三次オペレーターには問題はありません(そして問題について聞いたことがありません)。実際、それはコードをより簡潔にし、読者が初心者でない限り、私の意見ではより明確になります。

繰り返しになりますが、これswitchは実際には単なる抽象化であり、明確さに関するものです。1つの変数のみに依存する場合は、スイッチを使用します。それぞれのケースで追加のチェックが必要な場合、それは悪いことですが、すでにこれらのことをかなり意識しているようです。

于 2012-06-06T05:44:55.427 に答える
1

何の問題もありません。そして、パフォーマンスに関しては、これらのタイプのものは通常、単なる「シンタックスシュガー」です。基本的に、それは内部で同じコードに変換されるので、それはあなたの便宜のためだけです。もちろん、コードの読み取り/書き込みが不便になる場合は、それを使用する正当な理由はありません。

于 2012-06-06T05:49:18.137 に答える
0

奇妙なことに、私の先輩は、あなたが真または偽の状態をテストしているときはいつでも三項演算子を使用するように私に言いました、そしてそれもより速いです。そして私はそれに同意します。

しかし、複数の条件の場合、elseが簡単にループする場合は常に優先します。

そして、私はswitchステートメントを使用したことがありません。

   so ternary opertor are best for one line of if else and its easy and fast

唯一の理由は、それが複雑になり、新しいユーザーにとってエラーが発生しやすいためです。

于 2012-06-06T05:52:57.943 に答える