Ruby Style Guide

原则:
引用
Make it Work, Make it Clean, Make it Fast (if necessary)

1.方法名
全部小写,并且用下划线分开
DO THIS:
def calculate_person_data_usage_history_start_date()  
end

NOT THIS:
Date calculatePersonDataUsageHistoryStartDate() {} 

DO THIS:
def active?
end

def attribute=(name)
end

class T
attr_reader :attribute
attr_accessor :attr
end

NOT THIS:
def is_active
end

def set_attribute
end

def get_attribute
end

此处省略若干字...

2.条件控制
Fine:
x = active? ? 3 : 5

Better:
x = if active? then 3 else 5 end


很长的表达式:
x = if a_really_long_boolean_function
    then a_long_true_value
    else a_long_false_value
    end

x = if a_really_long_boolean_function
      a_long_true_value
    else
      a_long_false_value
    end


Better:
def assign_x
  if a_really_long_boolean_function
    a_long_true_value
  else
    a_long_false_value
  end
end

x = assign_x


if语句后置
Better:
return if x.nil?

Better:
unless logged_in?
  do_something_for_unlogged_in_requests
end

不推荐:
until,while,当然unless里面有else也不推荐
3.习惯用法(推荐)
||= as in, @user ||= User.find(params[:id])

&&= as in, @user.name &&= @user.name.downcase

x.nil? rather than x == nil
x.empty? rather than x.size == 0 — in Rails x.blank? is preferred.

4.链式调用
all_users.select(&:is_active).map(&:name).sort

ruby很容易写出这样长的链式调用,太长了还是分开写好...
当然写个脚本到无所谓。
5.And and or or && and ||(99%的时候||&&是你想要的)
x = y || z
x = (y || z)


x = y or z
(x = y) or z

大多数时候我们想要的是上面的形式..

5.begin rescure end语句
Better:
def sample_method
  do_something
rescue
  raise Exception
end

Ps;在方法中可以省去前面的begin和后面的end,这样显得clean多了。

6.默认参数
def(x, a = 3, b = nil)

等号前后有空格。

7.每行80字符,缩进2字符
a_very_long_method_name(argument1,
    a + b, arg_3)

当然这个如果用hash做参数会写的更漂亮。

8.摆脱括号

个人觉得括号没什么不好,反倒是有时候省略括号总会出现warning,很烦,干脆全用括号了。

你可能感兴趣的:(windows,Ruby,Netbeans,Rails,pascal)