什麼是正確的情況下使用%w
:正確%(重量)符號的使用
percent_notation = %w(first second third)
explicit = ["first", "second", "third"]
創造陣列?對於大小爲501的數組,創建時間的差異大約爲。 .04毫秒。這是否會導致我們在百分比表示法中使用顯式的顯着差異?
除了寫得更快,是否有任何理由使用其中之一?適當的紅寶石風格是否要求另一個版本?
什麼是正確的情況下使用%w
:正確%(重量)符號的使用
percent_notation = %w(first second third)
explicit = ["first", "second", "third"]
創造陣列?對於大小爲501的數組,創建時間的差異大約爲。 .04毫秒。這是否會導致我們在百分比表示法中使用顯式的顯着差異?
除了寫得更快,是否有任何理由使用其中之一?適當的紅寶石風格是否要求另一個版本?
你在過度思考問題。
當使用%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開始對代碼的解釋並且只有那時,兩者纔會被解析。即使有區別,你也無法用基準測量它,它會發生一次,所以它會在腳本的運行時間上有什麼不同?
如果你是一名高爾夫球手,它的字符更短。但是它的可讀性要差得多,如果你在一個團隊中進行開發,那麼你很可能會迫使其他開發人員通過查看它的功能來浪費時間。
我不認爲文字表示法實際上很難閱讀,事實恰恰相反。對於開發者來說,學習他們使用的語言的語法真的是一件壞事嗎? –
沒有一條硬性規定可以使用。根據構成陣列的元素的可讀性,我們在工作中使用了這兩種方法。 –
這在很大程度上是我所想的。我只是坐在今天,開始思考。謝謝。 –