【问题标题】:Would you call it level or depth?你会称之为水平还是深度?
【发布时间】:2013-05-02 00:02:36
【问题描述】:

你会选择哪个词来标记一个元素的绝对堆栈级别——换句话说,它相对于根/文档元素的嵌套程度?

leveldepth 之间,您会选择哪一个?为什么?什么是常用的或首选的?如果没有有意义的上下文,您会觉得哪一个更容易混淆?

我尝试检查XML specification,但没有成功。

【问题讨论】:

  • 对于建议关闭它的用户,该术语将用于类似于 CSS 的 编程 语言中的只读属性。对我来说很明显它是关于主题的,我可能会找到写过一本关于 XML 或其他东西的书的人。
  • +1 表示一个有趣的话题,我们在使用它时通常不会给予太多关注。我们只是使用它。

标签: xml programming-languages naming-conventions terminology


【解决方案1】:

我称之为Depth

众所周知,XML 是一个Node based structure

我们都知道,在数据结构中,我们广泛使用这两个术语。

如果我们谈论二叉树结构,我们通常会说

节点位于/位于哪个深度级别?

我们也在 DFS(深度优先搜索)和 BFS(广度优先搜索)中使用这个术语。当我们下降时,我们称之为level depth/down (deep),当我们上升时,我们称之为level up。所以level 代表position at specific pointdepth 代表How Deep it is。以下是我想传达的内容的表示

在 XML 中,如果我们想找出更深层次(深度)的元素,我们使用descendant。这是什么意思?我们指的是元素的depth level

在 AVL 二叉树中,一般情况下,我们计算 Nodelevel,并在此基础上旋转树以使其平衡。

换句话说,

一个节点的depth是到它的根路径的长度(即它的根路径)或者depth是到任何node to root的最大距离。 p>

节点的level是从node to a leaf开始的最长路径上的节点数。

Reference from wikipedia

但如果我们谈论 XML 结构,术语Depth 最适合表示 XML 节点。所以我选择Depth

编辑:感谢@Alex 的宝贵版本。在他添加之后,我还编辑了一些东西来改进答案。

【讨论】:

  • +1 表示冗长的答案,但似乎英语不是你的母语。
  • :) 解释呢?你的问题有意义吗?
  • 这证实了我与这个问题相关的预感:这些术语并不等同。它有帮助,但我认为除非有人改进你的答案,否则你不会得到赏金。
  • 我在 SO 中几乎没有链接/文章/问题,其中问题作者默认使用 Depth 术语来表示他们关于 XML 节点的问题。 Depthterm 也被 IBM 用来指代 XML 节点的 Depth。这不是关于bounty :)
  • @NullPoiиteя 但你更有才华:)
【解决方案2】:

我会选择深度这个词。

XML 是基于树的表示,DOM 也是。

如果我们以树为例:
节点的深度表示该节点和根之间的#of 边。这是不变的。
另一方面,“级别”是任意的。级别值取决于我将根节点放置在哪个级别(级别 0 或级别 1)

由于您正在开发一种编程语言,因此我尝试查看它们实际上具有 XML 节点深度属性的位置:
1。 .NET:XMLTextReader 具有深度属性。
2。 Javascript:No Inbuiltdepth 属性。

【讨论】:

    【解决方案3】:

    level 和 height 相同,但 depth 是从任何节点到根的最大距离...并且在 height 的情况下相反。

    【讨论】:

      【解决方案4】:

      树中特定位置的深度,遍历树的级别。即从深度 5 往下一层。

      你的关卡深度是多少?

      你的深度是多少?

      你从深度 5 到了多少级?

      你从第 5 级开始有多少深度?

      【讨论】:

        【解决方案5】:

        “级别”表示树中具有相同深度的所有节点(分组结构)。 因此,深度是表示从根节点到任何其他节点的相对距离的整数。

        所以恕我直言,我会选择“深度”作为整数值,并且具有相同“深度”的所有节点都在一个“级别”上。

        【讨论】:

          【解决方案6】:

          我会选择深度。

          显然很多人可以互换使用级别和深度。但在我的理解水平上,可以指一个元素与根元素的距离,或与与根元素具有相同距离的所有元素。 为了避免这种歧义,我更喜欢深度。

          此外,树的根元素通常位于顶部,如 NullVoid 所示。由于您可以将 XML 元素视为具有节点的树,因此我们还有另一个参数来支持深度。 最后一个是深度工作,因为 XML 元素在 XML 文件中的表示方式;-)

          【讨论】:

            【解决方案7】:

            对我来说,水平意味着上升,深度意味着下降。

            所以我会选择深度。

            但我学到了一条规则:如果你不能在两个选项之间做出选择,那是因为两个选项都一样好,所以掷硬币继续前进。

            【讨论】:

            • 为了进一步阐述你的想法,我们有一个树和一个根,因此 level 似乎更合适,因为它意味着我们正在爬树。
            • 我还是会选择深度。在 CS 中,对树进行 depth-first 遍历是很常见的。没有人提到树的层次。
            • 我认为“级别”是双向的。不过,我仍然更喜欢“深度”,更具体一些。
            【解决方案8】:

            如果您在谈论“堆栈”,如在数据结构中,那么深度是首选术语。从 XML 文档的角度来看,嵌套深度和级别似乎都是常用的。一项快速的谷歌调查显示了大约 600000 个“xml 嵌套级别”和“xml 嵌套深度”的结果。

            我会说选择一个并在相同的上下文中始终如一地坚持下去。

            【讨论】:

              【解决方案9】:

              我可以互换使用两者。 ___

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2012-04-30
                • 2013-03-27
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2011-05-29
                相关资源
                最近更新 更多