使用%w
的正确情况:
percent_notation = %w(first second third)
explicit = ["first", "second", "third"]
用于创建数组?对于大小为501的数组,创建时间的差异大约为。 .04毫秒。这是一个显着的差异,会导致我们使用显式百分比表示法吗?
除了写得更快外,还有什么理由可以使用其中一种吗?适当的红宝石风格是否要求一个版本而不是另一个版本?
答案 0 :(得分: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 :(得分:0)
如果你是代码高尔夫球手,那么它在角色方面会更短。但它的可读性要低得多,如果你在一个团队中发展,你很可能会迫使其他开发者浪费时间来查看它的作用。