2011-09-09 77 views
2

假設我有一個變量patients。它可以表示患者人數(Integer),患者對象集合(Patient類),字符串數組或哈希值。以動態類型語言(如Ruby)命名變量

有時我需要一個簡單的計數,但number_of_patients似乎太羅嗦。 patients_number不明確,因爲它可能代表患者的ID或患者數量。用count代替number稍微好一些,但並不總是適合上下文。

由於使用複數集合的慣例,Rails中的這個問題更糟。用複數名詞表示Integer感覺不對。問題從視圖擴展到模型,因爲模型經常需要屬性來統計事物,並且它們可能具有相關聯的集合(例如,report具有代表Document對象的documents,代表Array的稱爲diseases的字段,以及稱爲evaluated的字段代表Integer)。

處理這些情況是否有任何約定?

回答

3

我會使用patients_count因爲這是ActiveRecord的使用時:counter_cache => true給予belongs_to,例如:

class Patient 
    belongs_to :hospital, :counter_cache => true 
end 

會想盡一切相關的病人加入的時間來增加hospital.patients_count醫院。 (Rails API docs

2

有很多約定,我想通過我承認不一定知道Rails的成語,但...

的病人數目總是被稱爲numPatientsnum_patients(取決於語言成語)。

患者的陣列/散列/集合最有可能被稱爲patients

因人而異

1

多個實現很少有問題,因爲您無論使用哪個備份類都以相同的方式遍歷枚舉類型。事物的數量/大小應該以識別它們的方式命名 - patients就是說,患者,而num_patients/etc。代表計數。