2014-02-07 69 views
0

所以,这是一个有争议的问题,但有人正在看我的Rails代码(特别是模型代码),并且正在采取与我如何命名局部变量的混战。老实说,由于Ruby的工作原理,我故意没有命名可能看起来像属性的东西,并且经常将它们命名为id_tmp,因为id很可能是属性。他觉得这是一个非常棘手的事情 - 谁是对的?命名Rails局部变量的标准惯例

像在User.rb

class User < ActiveRecord::Base 
    ... 
    def say_something 
    # my verion which I prefer but not super emphatically 
    location_ids_tmp=Location.getAssociatedIds 
    # his version which he prefers greatly but the more I think about it, the less I like 
    location_ids=Location.getAssociatedIds 

我没有得罪,但它是一个典型的程序员的说法,我不能拿我的头了。

谁是对的?或者这应该是一个上下文导出的参数?

回答

0

你不想在关键字如classid等之后命名变量的直觉是正确的。但是,如果变量名包含location_之类的内容,则不需要这样做。我会说,location_ids比较习惯。但是,如果您有预置或附加的内容,则变量名称不会与保留关键字冲突。

+0

thx for answer。如果用户has_many:locations,那么在用户上有一个location_ids属性 - 我想如果你在模型中看到location_ids,我想知道是否有这种关联。看起来像是更明确地说location_ids_tmp或其他东西。在局部变量的情况下,你不需要自我,因此混乱。我知道这主要是一种风格的惯例,但是...... – timpone