适当的百分比用法

时间:2013-05-26 14:57:20

标签: ruby literals notation

使用%w的正确情况:

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

用于创建数组?对于大小为501的数组,创建时间的差异大约为。 .04毫秒。这是一个显着的差异,会导致我们使用显式百分比表示法吗?

除了写得更快外,还有什么理由可以使用其中一种吗?适当的红宝石风格是否要求一个版本而不是另一个版本?

2 个答案:

答案 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)

如果你是代码高尔夫球手,那么它在角色方面会更短。但它的可读性要低得多,如果你在一个团队中发展,你很可能会迫使其他开发者浪费时间来查看它的作用。