代码之家  ›  专栏  ›  技术社区  ›  John

“C++98中已弃用”表示什么?

  •  0
  • John  · 技术社区  · 4 年前

    当jQuery,微软或其他软件公司说:“这个功能不推荐使用”。

    例如,当有一个func1在1.0版中运行良好,但在2.0版中被弃用时,它还引入了一个新的func2:

    1. func1是否也应该包含在2.0版本中以实现向后兼容性?
    2. func1在2.0版本中是否应该在没有错误的情况下工作?(func2适用于版本2和1)
    3. 是否允许func2在2.0版本中不能正常工作?

    贬低的真正含义是什么?它在所有组织中的含义都一样吗?

    例如,jQuery中的live方法在IE中的1.7中不起作用,但在Chrome中起作用)。

    0 回复  |  直到 14 年前
        1
  •  98
  •   RobbieE    10 年前

    我认为 Wikipedia-article on Deprecation 很好地回答了这个问题:

    在编写计算机软件、其标准或文档的过程中,弃用是一种应用于软件功能的状态,表示应避免使用这些功能,通常是因为它们已被取代。尽管不推荐使用的功能仍保留在软件中,但使用这些功能可能会引发建议替代做法的警告消息,而不推荐使用可能表明该功能将来将被删除。为了提供向后兼容性,功能会被弃用,而不是立即删除,并让使用过该功能的程序员有时间让他们的代码符合新标准。

        2
  •  19
  •   svick Raja Nadar    14 年前

    弃用意味着他们不建议使用它,而且它没有进行进一步的开发。但它的工作方式不应该与以前的版本不同,除非文档明确说明了这一点。

    1. 是的,否则就不会被称为“弃用”

    2. 除非文件中另有说明,否则应与以前相同

    3. 没有,但如果v1中有问题,他们不会解决的

        3
  •  6
  •   UnhandledExcepSean    14 年前

    如果这些问题有真实的答案,那么每个软件供应商的答案都会有所不同,并由供应商定义。我不知道在这件事上有什么真正的行业标准。

    从历史上看,在微软,他们会将某些内容标记为不推荐使用,并表示将在未来的版本中删除。不过,在他们真正摆脱它之前,可能会有几个版本。

        4
  •  6
  •   karnyj    14 年前

    Deprecated通常表示“不要使用它”。
    不推荐使用的函数可能工作,也可能不工作,但不能保证它工作。

        5
  •  3
  •   xmnboy    10 年前

    最简单的答案 deprecated 当用于描述软件API时是:

    • 停止使用标记为弃用的API!
    • 他们将在未来的版本中消失!!
    • 尽快开始使用新版本!!!