2011-11-13 25 views
42

Quando jQuery, Microsoft o qualche altra azienda di software dice: "questa funzione è deprecata".significato deprecato?

Ad esempio, quando v'è una func1 che funziona bene in versione 1.0 ed è deprecato nella versione 2.0 che introduce anche un nuovo func2:

  1. caso FUNC1 anche essere inclusi nella versione 2.0 per la compatibilità all'indietro?
  2. Si suppone che func1 funzioni senza errori nella versione 2.0? (func2 va bene con le versioni 2 e 1)
  3. È possibile che func2 non funzioni correttamente nella versione 2.0?

Cosa vuol dire 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).

risposta

74

Credo che i Wikipedia-article on Deprecation risponde questo uno abbastanza bene:

Nel processo di software di authoring, i suoi standard o della documentazione, deprecazione è uno status applicato a caratteristiche del software per indicare che essi dovrebbero essere evitati, in genere perché sono stati sostituiti. 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.

+17

Si prega di evitare risposte che contengono solo link, anche se contengono dei collegamenti a materiale wikipedia. –

4

Se ci sono risposte vere a quelle domande, sarebbe diverso per 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 dichiarano che lo rimuoveranno in una versione futura. Questo può essere diverse versioni prima che in realtà si sbarazzino di esso però.

5

Obsoleto in generale significa "non usarlo".
Una funzione obsoleta può o non può funzionare, ma non è garantito il funzionamento.

14

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 sarebbe chiamato "deprecato"

  2. Se non diversamente indicato nella documentazione, dovrebbe essere lo stesso di prima

  3. No, ma se ci sono stati problemi in v1 non sono in procinto di correggerli

2

la risposta più semplice al significato di deprecated quando viene utilizzato per descrivere le API software è:

  • Interrompere l'utilizzo di API contrassegnate come deprecate!
  • Andranno via in una versione futura !!
  • Inizia ad usare le nuove versioni APPENA POSSIBILE !!!