2011-11-13 31 views
42

當jQuery,微軟或其他軟件公司說:「這個函數已被棄用」。已棄用的含義?

例如,當存在在1.0版本工作正常,並在2.0還引入了一個新版本FUNC2已棄用一個func1的:

  1. 應該FUNC1也可以包括在向後兼容版本2.0?
  2. func1是否應該在2.0版本中沒有bug? (func2對版本2和1是好的)
  3. 是否允許func2在版本2.0中不能正常工作?

棄用真的意味着什麼,它在所有組織中意味着什麼?

例如, jQuery中的實時方法在IE中不起作用,但它在Chrome中運行)。

回答

74

我覺得Wikipedia-article on Deprecation回答這一個還算不錯:

在製作計算機軟件,其標準或文件的過程中,折舊是應用軟件的功能狀態,表明它們應該被避免,通常因爲它們已被取代。雖然不推薦使用的功能仍然保留在軟件中,但它們的使用可能會引發警告消息,推薦替代做法,並且棄用可能表示該功能將來會被刪除。爲了提供向後兼容性,已棄用功能(而不是立即刪除),併爲使用功能時間的程序員提供符合新標準的代碼。

+17

請避免只含有鏈接的答案,即使它們鏈接到維基百科的材料。 –

4

如果對這些問題有真實答案,那麼每個軟件供應商都會有所不同,並且會由供應商定義。我不知道有關這個問題的任何真正的行業標準。

從歷史上看,微軟會將其標記爲已棄用,並聲明他們將在未來的版本中將其刪除。在他們真正擺脫它之前,可以有幾個版本。

5

棄用通常意味着「不要使用它」。
不建議使用的功能可能工作,也可能不工作,但不能保證工作。

14

棄用意味着他們不推薦使用它,並且它不會進一步發展。但除非文檔明確指出,否則它的工作方式應不同於以前的版本。

  1. 是的,否則就不能稱之爲「過時」

  2. 除非文檔另有說明,應該是和以前一樣

  3. 沒有,但是如果出現了問題,在V1他們是不是要解決這些問題

2

用於描述軟件API時,最簡單的答案的deprecated的含義是:

  • 停止使用標識爲棄用的API!
  • 他們將在未來的版本中消失!
  • 儘快開始使用新版本!