Ruby是非常自由灵活的语言。那么在代码规范方面他们的差异大不大呢?sideeffect.kr通过分析GitHub上托管的开源代码,得出了一些有趣的结果
空格与tab
使用空格缩进(95.364%)
使用Tab缩进(4.636%)
最大行宽
80字符(92.618%)
120字符(5.893%)
150字符(1.489%)
运算符、冒号、花括号周围,逗号、分号后是否使用空格
不使用空格(73.366%)
sum = 1 +2a,b = 1, 21>2 ? true : false;puts 'Hi'[1, 2, 3].each {|e| puts e}
使用空格(26.634%)
sum = 1 + 2a, b = 1, 21 > 2 ? true : false; puts 'Hi'[1, 2, 3].each { |e| puts e }
默认参数
前后空格(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
长数字
不使用下划线 (97.984 %)
num = 1000000
使用下划线 (2.016 %)
num = 1_000_000
无参数时是否省略括号
省略括号(98.556 %)
def some_method # do something...end
不省略括号(1.444 %)
def some_method() # do something...end
定义函数时参数周围是否使用括号
省略(62.867 %)
def some_method arg1, arg2 # do something...end
不省略(37.133 %)
def some_method(arg1, arg2) # do something...end
可以说风格这类事情不能说人多就代表规范,也不能说真理掌握在少数人手中。