2014-02-07 49 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