Significato deprecato?

Quando jQuery, Microsoft o qualche altra azienda di software dice: “questa funzione è deprecata”.

Ad esempio, quando c’è una func1 che funziona bene nella versione 1.0 ed è deprecata nella versione 2.0 che introduce anche una nuova funzione2:

  1. Anche func1 dovrebbe essere incluso nella versione 2.0 per la retrocompatibilità?
  2. Func1 dovrebbe funzionare senza errori nella versione 2.0? (func2 va bene con le versioni 2 e 1)
  3. Func2 ha il permesso di non funzionare correttamente nella versione 2.0?

Cosa significa realmente la deprecazione e significa lo stesso in tutte le organizzazioni?

Per es. il metodo live in jQuery non funziona in 1.7 in IE ma lo fa in Chrome).

Penso che l’ articolo di Wikipedia su Deprecation risponda abbastanza bene a questo:

Nel processo di authoring del software per computer, dei suoi standard o della documentazione, la deprecazione è uno stato applicato alle funzionalità del software per indicare che dovrebbero essere evitate, in genere perché sono state sostituite. Sebbene le funzionalità deprecate rimangano nel software, il loro utilizzo potrebbe generare messaggi di avviso che raccomandano pratiche alternative e la deprecazione potrebbe indicare che la funzionalità verrà rimossa in futuro. Le funzionalità sono deprecate, piuttosto che rimosse immediatamente, al fine di garantire la compatibilità con le versioni precedenti e offrono ai programmatori che hanno utilizzato le funzionalità per portare il loro codice in conformità con il nuovo standard.

Obsoleto significa che non è consigliabile utilizzarlo e che non è in fase di ulteriore sviluppo. Ma non dovrebbe funzionare in modo diverso rispetto a una versione precedente, a meno che la documentazione non lo specifichi esplicitamente.

  1. Sì, altrimenti non si chiamerebbe “deprecato”

  2. Se non diversamente specificato in documenti, dovrebbe essere lo stesso di prima

  3. No, ma se ci sono stati problemi in v1 non stanno per risolverli

Deprecato in generale significa “non usarlo”.
Una funzione deprecata può o non può funzionare, ma non è garantito il funzionamento.

Se ci sono risposte vere a quelle domande, sarebbe diverso per ogni fornitore di software e sarebbe definito dal venditore. Non conosco alcun vero standard di settore che sia seguito in merito a questo problema.

Storicamente con Microsoft, contrassegneranno qualcosa come deprecato e dichiareranno che lo rimuoveranno in una versione futura. Questo può essere diverse versioni prima che in realtà si sbarazzino di esso però.

La risposta più semplice al significato di deprecated quando usato per descrivere le API software è:

  • Smetti di utilizzare le API contrassegnate come deprecate!
  • Andranno via in una futura versione !!
  • Inizia ad usare le nuove versioni APPENA POSSIBILE !!!