2

Ruby是非常自由灵活的语言,所以不同的Rubist风格差异可能很大。那么在代码规范方面他们的差异大不大呢?sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果,让我们一起来看看Rubist的喜好吧~

code convention

空格与tab

使用空格缩进(95.364%)

使用Tab缩进(4.636%)

基于 1,001,987 次提交

最大行宽

80字符(92.618%)

120字符(5.893%)

150字符(1.489%)

基于 1,057,374 次提交

运算符、冒号、花括号周围,逗号、分号后是否使用空格

不使用空格(73.366%)

sum = 1 +2

a,b = 1, 2

1>2 ? true : false;puts 'Hi'

[1, 2, 3].each {|e| puts e}

使用空格(26.634%)

sum = 1 + 2

a, b = 1, 2

1 > 2 ? true : false; puts 'Hi'

[1, 2, 3].each { |e| puts e }

基于 911,301 次提交

默认参数

前后空格(59.151%)

def some_method(arg1 = :default, arg2 = nil, arg3 = [])
  # do something...
end

前后无空格或只有一个空格(40.849 %)

def some_method(arg1=:default, arg2=nil, arg3=[])
  # do something...
end

基于 19,213 次提交

长数字

不使用下划线 (97.984 %)

num = 1000000

使用下划线 (2.016 %)

num = 1_000_000

基于 133,530 次提交

无参数时是否省略括号

省略括号(98.556 %)

def some_method
  # do something...
end

不省略括号(1.444 %)

def some_method()
  # do something...
end

基于 267,404 次提交

定义函数时参数周围是否使用括号

省略(62.867 %)

def some_method arg1, arg2
  # do something...
end

不省略(37.133 %)

def some_method(arg1, arg2)
  # do something...
end

基于 365,121 次提交


编译 SegmentFault


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity