2014-07-02 27 views
1

我有一些代碼,用戶可以一次刪除一條父記錄的一個子記錄。我在檢測什麼時候沒有孩子。那時候,我也會刪除父記錄。當想出這個變量的名字時,我意識到我不知道你稱爲沒有孩子的父母。你叫什麼沒有孩子的父母?

有沒有一個我沒有聽說過(或不記得)的單一的,公認的名字?

+1

我不知道一個在OO設計。在現實世界中,我會給沒有孩子的父母留下一個'EmptyNester',我也喜歡它作爲變量名稱。 :) – Pharylon

+1

你在尋找一個真實世界的名字嗎?我可能會有一些代碼,如'if(parent.children()== 0)parent.delete();'它甚至不需要它自己的變量名稱。 –

+2

那麼在樹上它會是一個葉節點? –

回答

0

父母有兩種常見的計算機科學概念:相對/傳遞和絕對/非傳遞。一個節點可以是另一個節點(一個孩子)的父節點。 (因此,傳遞對象是「是」或「父母」)。沒有孩子的節點是葉節點;帶有子節點的節點是父節點。 (因此,非傳遞對象「是」)。這些都不涉及曾經有過孩子的非瞬時概念,例如在現實世界中。

您正在描述的類型的每個節點在處理期間(修剪前後)都是父級而不是父級。所以你正在使用類似非瞬時/現實世界的第三種含義,像「是父母,但不再是什麼」。 (想想你在說什麼:它是父節點,即使它不是父節點,也是父節點,因此它是父節點,因爲它不是父節點。)

一旦它將被刪除,那麼NoLongerParent呢?但是,如果您只是爲該節點使用名稱進行所有處理,並且它以非葉爲開始,爲什麼不只是父?

+0

謝謝你的深思熟慮的答案。我認爲你所說的一切都是真實的。我喜歡noLongerParent這個名字。我同意,目前,無子女狀態也使葉子成爲一個好名字。但是它並沒有表達這是以前有孩子的對象。很明顯,這沒有一個公認的術語。 –

+0

啊,自然語言。例如我看不到「不再是父母」可以傳達任何「其他」而不是「以前有孩子(但現在沒有)」。 – philipxy

+0

我剛剛重讀了我的評論,現在我同意你的意見。我不知道我爲什麼說它不表示它是以前有孩子的對象。 –

相關問題