什么是软件开发领域的 deprecation

举报
汪子熙 发表于 2023/07/18 10:04:17 2023/07/18
【摘要】 在软件开发中,“Deprecation”或者说“弃用”是一个重要的概念。当一个特定的特性、函数或方法在以后的版本中不再被推荐使用,甚至可能在未来的版本中被移除,这样的特性、函数或方法就被称为已被弃用的(deprecated)。弃用是一个渐进的过程,旨在向开发者提供充足的时间来调整他们的代码,以消除对弃用特性的依赖。在软件库或框架发布新版本时,通常会发布一份更新日志,其中会详细列出哪些特性被弃...

在软件开发中,“Deprecation”或者说“弃用”是一个重要的概念。当一个特定的特性、函数或方法在以后的版本中不再被推荐使用,甚至可能在未来的版本中被移除,这样的特性、函数或方法就被称为已被弃用的(deprecated)。

弃用是一个渐进的过程,旨在向开发者提供充足的时间来调整他们的代码,以消除对弃用特性的依赖。在软件库或框架发布新版本时,通常会发布一份更新日志,其中会详细列出哪些特性被弃用,以及推荐的替代方案。这样,开发者可以逐步进行代码修改,而不是被突然告知他们的代码在新版本中无法运行。

例如,Java 9 中弃用了一些在以前的 Java 版本中常用的特性。一个这样的例子是 Thread.destroy() 方法。这个方法被设计用来立即停止一个线程,但由于它可能导致对象处于不一致的状态,因此,Java 开发团队在 Java 9 中标记它为弃用,并在文档中注明不推荐使用。

另一个例子是 Python 2 到 Python 3 的过渡。Python 2 的 print 语句在 Python 3 中被弃用,取而代之的是 print() 函数。这意味着在 Python 2 中有效的 print "Hello, World!" 在 Python 3 中会产生语法错误,必须改为 print("Hello, World!")

在某些情况下,弃用的特性可能永远不会被移除,特别是当这些特性被广泛使用,且移除它们会导致大量代码出错时。然而,依赖于已弃用的特性总是有风险的,因为不能保证这些特性在未来的版本中会一直存在。

在 SAP UI5 官网上也能看到大量的 deprecation 的例子:

弃用的主要目的是帮助保持代码库的清洁和健康。随着时间的推移,某些特性可能已经不再适用,或者有更好的替代方案。通过弃用这些特性,开发者可以避免维护和支持过时的代码,从而将更多的精力投入到新特性和改进上。

总结

弃用是软件开发中的一个重要过程,它反映了软件的持续进化和改进。理解和尊重弃用过程有助于编写出更稳定、更可维护的代码。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。