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