アカウント名:
パスワード:
最初に考えるべきなのはアルゴリズムじゃなくてデータ構造だ、って、ばっちゃが言ってた(cf. 実装 [grepcode.com])
これでどうかな?https://gist.github.com/anonymous/b8fbebc92117d15caba5 [github.com]
> put( 8,"KEYCODE_1");
"KEYCODE_1"のIDが本当に8でよいのかどのようにコードレビューしますか?
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.a... [grepcode.com]
put( KeyEvent.KEYCODE_1,"KEYCODE_1");の方が良さそう
でも、結局ずらずら書くのは一緒で、元のソースに比べて良いかと言われると微妙では
結局のところこの話の問題点は以下の2点に集約出来る。1. メンバ変数(定数)の値とメンバ変数名の対応を全て列挙する作業が手作業であるという問題。2. 検索が線形検索になっていることによる検索コストがO(N)という問題。
#2651418 [developers.srad.jp]について見てみると、1. は AWK スクリプトで自動生成しているのでクリア出来ている。ただし、実行環境の定数がコンパイル時と変わってしまっていた場合に不具合を生じる。せめて
ベンチマークなしに闇雲に計算量のオーダーだけ減らしても意味ないと言う主張なら賛同だが、== の比較による単純な代入をするために if else 文が数ページの長さ続くのはちょっとおかしい。こういう場合は普通 Key-Value の対応にして、適切にコンテナを選ぶことで、実行速度を最適化するのが定石。
ぶっちゃけ、開発時の動作確認のためだけに使うので、最小の労力で必要な出力が得られれば十分とか、正当な理由がついていて、CDやwebからコピーしろと指示があれば、目くじらを立てるコードじゃないけど、入門書で数ページも割くのは、ページの無駄使いと言われても仕方ない。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
192.168.0.1は、私が使っている IPアドレスですので勝手に使わないでください --- ある通りすがり
文句を言う資格のある奴はより良い案を出した奴だけだ。 (スコア:2)
Re: (スコア:0)
最初に考えるべきなのはアルゴリズムじゃなくてデータ構造だ、って、ばっちゃが言ってた
(cf. 実装 [grepcode.com])
Re: (スコア:1)
これでどうかな?
https://gist.github.com/anonymous/b8fbebc92117d15caba5 [github.com]
Re: (スコア:0)
> put( 8,"KEYCODE_1");
"KEYCODE_1"のIDが本当に8でよいのかどのようにコードレビューしますか?
Use the Source Luke (スコア:0)
http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.a... [grepcode.com]
put( KeyEvent.KEYCODE_1,"KEYCODE_1");
の方が良さそう
Re: (スコア:0)
でも、結局ずらずら書くのは一緒で、元のソースに比べて良いかと言われると微妙では
Re: (スコア:0)
結局のところこの話の問題点は以下の2点に集約出来る。
1. メンバ変数(定数)の値とメンバ変数名の対応を全て列挙する作業が手作業であるという問題。
2. 検索が線形検索になっていることによる検索コストがO(N)という問題。
#2651418 [developers.srad.jp]について見てみると、
1. は AWK スクリプトで自動生成しているのでクリア出来ている。ただし、実行環境の定数がコンパイル時と変わってしまっていた場合に不具合を生じる。せめて
Re: (スコア:0)
Re:Use the Source Luke (スコア:0)
ベンチマークなしに闇雲に計算量のオーダーだけ減らしても意味ないと言う主張なら賛同だが、== の比較による単純な代入をするために if else 文が数ページの長さ続くのはちょっとおかしい。こういう場合は普通 Key-Value の対応にして、適切にコンテナを選ぶことで、実行速度を最適化するのが定石。
ぶっちゃけ、開発時の動作確認のためだけに使うので、最小の労力で必要な出力が得られれば十分とか、正当な理由がついていて、CDやwebからコピーしろと指示があれば、目くじらを立てるコードじゃないけど、入門書で数ページも割くのは、ページの無駄使いと言われても仕方ない。