2013-05-26 33 views
0

什麼是正確的情況下使用%w正確%(重量)符號的使用

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

創造陣列?對於大小爲501的數組,創建時間的差異大約爲。 .04毫秒。這是否會導致我們在百分比表示法中使用顯式的顯着差異?

除了寫得更快,是否有任何理由使用其中之一?適當的紅寶石風格是否要求另一個版本?

回答

3

你在過度思考問題。

當使用%w比編寫常規數組定義更容易,或者更直觀時,我使用%w

這是程序員的選擇,常常涉及到以下問題:哪一個更容易維護?

當定義單個詞它使使用很多更有意義%w

ary = %w[a b c foo bar] 

比它的使用方法:

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

但是,如果您有嵌入空格,你需要保持它使用正常的陣列定義變得更具可讀性:

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

Co mpared到:

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

正如我在代碼審查告訴我的團隊,看代碼,你寫它,觀察你的大腦做破譯它的工作。隨時更新流量,更易於維護代碼。我們只寫一次,但可能會保留很多次,所以讓追隨我們的人更容易。

數組定義的創建時間完全沒有區別。當Ruby開始對代碼的解釋並且只有那時,兩者纔會被解析。即使有區別,你也無法用基準測量它,它會發生一次,所以它會在腳本的運行時間上有什麼不同?

+0

這在很大程度上是我所想的。我只是坐在今天,開始思考。謝謝。 –

0

如果你是一名高爾夫球手,它的字符更短。但是它的可讀性要差得多,如果你在一個團隊中進行開發,那麼你很可能會迫使其他開發人員通過查看它的功能來浪費時間。

+3

我不認爲文字表示法實際上很難閱讀,事實恰恰相反。對於開發者來說,學習他們使用的語言的語法真的是一件壞事嗎? –

+0

沒有一條硬性規定可以使用。根據構成陣列的元素的可讀性,我們在工作中使用了這兩種方法。 –

相關問題