Термин, представляющий родителя, у которого больше нет детей - PullRequest
0 голосов
/ 27 июня 2019

Я ищу полезную терминологию для представления случаев, когда родитель больше не может получить доступ к ребенку. Допустим, у меня есть объект, который в какой-то момент содержал массив дочерних элементов

    {
      id: 123,
      childIds: [1,2,3]
    }

Затем, при любых обстоятельствах, child Id 2, на который ссылался этот объект, был уничтожен. В этом случае id: 123 больше не сможет получить идентификатор 2, потому что он просто больше не существует.

Когда ребенок теряет своего родителя, он становится сиротой . Покопавшись, я вижу, что не существует эффективного термина для родителя, который теряет своего ребенка.

Мне нравится объяснение по этому :

  • Подобно тому, как мужской (противоположный) эквивалент слова "вдова" означает "вдовец", так и логическая противоположность слова "сирота" может быть "сиротой".

Однако на данный момент я остановился на погибших / лишенных , так как "сирота" просто не скатывается язык. Я бы скорее вызвал getBereft (), чем getParentsThatLostTheirChildren ()

Тем временем я продолжу задаваться вопросом, есть ли более подходящий термин computer science-ey , который могли бы использовать мои коллеги-программисты.

1 Ответ

1 голос
/ 27 июня 2019

Термины Parent и Child имеют смысл только при относительном использовании и обычно используются для определения отношений с другими объектами, такими как Nodes в дереве. Существует много часто используемых терминов для определения отношений между узлами и свойствами узлов в дереве. Вы уже упоминали, Parent, Child, Orphan. Есть также:

  • Ancestor, отношение узла ко всем его узлам-предкам.
  • Descendant или Offspring, отношение узла ко всем его дочерним узлам.
  • Sibling, отношение между узлами, имеющими общий родительский узел.
  • Leaf, узел, у которого нет дочернего элемента.
  • Root, узел без родителя.

И, вероятно, есть еще несколько.

При написании функций get / set / is эти классификаторы обычно используются не по отдельности, а объединяются с термином Node, таким как GetAncestorNodes(), GetSiblingNodes(), GetLeafNodes(), IsLeafNode() и т. Д. Это для максимальной ясности, но когда контекст ясен, мы часто видим GetChildren(), GetDescendants(), GetLeaves() и т. д.

...