-->

signed

QiShunwang

“诚信为本、客户至上”

在JavaScript中弃用代码的方法

2021/6/3 14:24:51   来源:

最近,我研究Java中代码弃用这方面的话题。我觉得这个话题的覆盖范围较小,尽管它可能在某些项目中发挥关键作用,特别是在大型团队中工作或处理外部API时。

在Java-land中,我不知道任何真正的用于废弃Java的行业标准。每个团队,库或供应商可能会有所不同。

这就是为什么我的目标是总结我在这个主题上的发现和想法,以及一些好的做法,以便标记Java方法过时的时候。

“弃用”实际上意味着什么?

首先,我们首先澄清,弃用只是应用于软件功能的状态。它表明应该避免使用此功能,通常是因为它已被取代。

弃用也可能表示该功能将来会被删除。为了提供向后兼容性,已弃用功能(而不是立即删除),并为使用功能时间的程序员提供符合新标准的代码。

此外,不赞成使用的功能表明,从此以后不会有任何进一步的发展。它不应该与以前的版本不同(除非文档明确指出其他内容)。所以,一般来说,它应该与发生弃用行为时的情况相同。

它可能会或可能不会在最新版本中工作 - 不保证!但是,由于没有任何在Java-land中严格遵循的行业标准,因此每个团队,库或供应商可能会略有不同。

何时弃用代码以及何时删除代码?

请注意,过时的软件功能或方法仍然是软件的一部分!将“弃用”标签视为代码的一种状态。软件功能是否将在未来实际取消取决于特定软件团队决定的内容。

在我看来,依赖外部API或大型团队的库或项目应先弃用,然后再移除(在合理的时间之后,无论您如何定义)。至少,在实际删除弃用代码之前至少给出一个主要版本,以便用户有机会适应变化。

您可能需要查看语义版本控制(Semantic Versioning),这是一组简单的规则和要求,规定版本号如何分配和递增。给定一个版本号MAJOR.MINOR.PATCH,MAJOR在进行不兼容的API更改MINOR时增加版本,以向后兼容的方式添加功能时的PATCH版本,以及进行向后兼容的错误修复时的版本。

如果您的软件正在迅速变化并不断发展,并且您正在弃用某项功能,请尝试与您的项目经理进行沟通,如果此功能预计稍后会复活。如果您选择弃用而不是删除,那么在您需要时可能会更容易恢复。

对于较小的团队或具有内部方法和API的项目,请继续并先删除而不是弃用。有时候浪费时间和弃用是没有意义的,只是为了遵循最佳实践而增加复杂性。

想要学习web前端的同学,可以参考成都web前端培训班提供的学习大纲;

如何标记过时的方法

以下是我发现最有用的五个良好做法:

  1. 添加一个@deprecated JSDoc标志。
  2. 提及该方法已被弃用的版本。
  3. 找出何时删除该方法的时间表,包括将要发生的版本。否则,根据我的经验,它永远保持
  4. 为了解释其他开发人员或未来自己的利益,请自由地使用注释来解释实现。如果您的用例正在编写一个其他用作其工作依赖项的库,这非常有用。
  5. 添加一个控制台警告消息,指出该功能已弃用。

下面是一个更实用的例子,我使用所有五种做法:

为避免控制台警告中的重复,或者如果您计划弃用多个方法并且您有替换方法,那么使用帮助器可能会更方便:

总结

我建议让你的团队在同一页面上,并继承那些对你的项目或用例最有意义的弃用做法,无论它是采用我们在这里或其他人介绍的做法。