アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
海軍に入るくらいなら海賊になった方がいい -- Steven Paul Jobs
一般にはそういうのは処理系が最適化するから… (スコア:1)
そういう場合、変数のスコープを調べて、『あぁ、これは変数をわざわざ用意せんでもいいな』と言う場合は、変数の準備自体を省略しちゃいます。
逆に if 文の中に直接関数コールとかがあった場合、「ユーザーからは見えないけれど、テンポラリ名変数を作る」なんて事をしたりもします。
なので、対象とする処理系の『気持ち』がよく判るのでない限り、そういう最適化はほとんど意味を持ちません。
---
そうすると、どちらかというと拡張性が大事になったりします。
たとえば監視対象を30台に増やして、30台それぞれの○×の他に、全体としての○×を記録せよ、という機能拡張が要求された場合。
各マシンの状態については○×はどちらの方法でも良いとして、全体の○×は一旦変数に true/false を代入しているコードの方が「少しだけ」改造しやすくありませんか?
多分、そういうこともあって、わざと変数代入をしているのだと思いますよ。
---
あえてもう一つ「じじむさいこと」を言うと。
歳を取るとな、長い面倒くさいロジックを追うのが面倒になるのじゃよ。
変数に代入して、その値を if 文で調べるように書いておけば、「変数に代入するところまで」と「if文」に論理が分かれておるじゃろう? 『ちょーっとだけ』楽なんじゃよ。この「ちょーっとだけ楽」が積み重なると、「ちょーっとだけバグが少ない」コードになるんじゃ。
そうするとな、「ちょーっとだけ」早い目に家に帰ることができてな(いや、ちょーっとだけ遅くに出社しても大丈夫になってな、かもしらんが)、無理をせんで済むんじゃよ。
fjの教祖様
Re:一般にはそういうのは処理系が最適化するから… (スコア:1)
積算、してないんですよね。する予定もなさそうです。
まぁするならするで、Erなんて変数作ってforループ内の×代入の後にEr=Er+1なんてやるだけですが(残念ながらvbsでは++は使えませんでしたorz)。
Re: (スコア:0)
例えば3行程度のコード以外の外に出ない処理の話なら変数の無駄だろうし、
もっと広い範囲に散らばるコードの話なら変数の汎用性による話でしょう。