0

使用する適切な状況は何ですか%w:

percent_notation = %w(first second third)
explicit = ["first", "second", "third"]

配列の作成のため?サイズが 501 の配列では、作成時間の差は約 1 秒です。.04 ミリ秒。これは、パーセント表記よりも明示的な表記を使用する原因となる重要な違いですか?

書くのが速い以外に、どちらか一方を使用する理由はありますか? 適切なルビースタイルは、あるバージョンを別のバージョンに要求しますか?

4

2 に答える 2

3

あなたは問題を考えすぎています。

%w通常の配列定義を記述するよりも簡単な場合、または視覚的に明確な場合に使用します。

どちらを選択するかはプログラマーの選択であり、多くの場合、次のような質問に行き着きます: どちらが保守しやすいでしょうか?

単一の単語を定義するときは、次を使用する方がはるかに理にかなっています%w

ary = %w[a b c foo bar]

使用するよりも:

ary = ['a', 'b', 'c', 'foo', 'bar']

ただし、スペースが埋め込まれている場合は、通常の配列定義を使用する方が読みやすくなります。

ary = ['a b c', 'foo bar']

に比べ:

ary = %w[a\ b\ c foo\ bar]

コードレビュー中にチームに伝えているように、コードを書いているときにコードを見て、それを解読するために脳が行う作業を観察してください。フローが簡単で、コードの管理が容易な方を使用してください。一度書きますが、何度もメンテナンスされる可能性がありますので、フォローしてくださる方が使いやすいようにしてください。

配列定義の作成時間にまったく違いはありません。どちらも、Ruby がコードの解釈を開始するときに解析されます。差があったとしても、ベンチマークで測定できず、1 回だけ発生する場合、スクリプトの実行時間にどのような差が生じるでしょうか?

于 2013-05-26T15:02:20.080 に答える
0

コードゴルファーなら文字数的には短めです。しかし、それははるかに読みにくく、チームで開発する場合、他の開発者にそれが何をするかを調べさせて時間を無駄にする可能性があります.

于 2013-05-26T15:06:59.213 に答える