三項演算子については賛否あります。
私は場合によっては可だと思います。
たとえば下記のようなコードが例です。
(質問文のソースに近い書式で書いてます)
javascript
1function Sum(N) {
2 r = 0;
3 N < 1 ? r = plus(N) : r = minus(N);
4 return r
5}
6
7function plus(N) {
8 for (; N < 2; N++) r += N;
9 return r
10}
11
12function minus(N) {
13 for (; N > 0; N--) r += N;
14 return r
15}
質問者様からしたら、ご質問の意図とは離れてしまいますし、
元より長くては意味ないと思われるでしょう。
ただ、関数Sumだけに注目してみてください。
javascript
1function Sum(N) {
2 r = 0;
3 N < 1 ? r = plus(N) : r = minus(N);
4 return r
5}
「N < 1が真なら、rはplus(N)、偽ならminus(N)」と一行で読み下せますから、
三項演算子に慣れていれば、可読性は低くないと思います。
このようにコードの短さと可読性は別の概念で、
昔はともかく今は後者を重視すると思います。
長さにしてももし、関数plusらは数行のものが数個で、
Sumが何百行になったときは、全体として短くなります。
また、ネストが浅いほうが分かりやすくなります。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/09 11:10