Domanda

Quando si utilizza 3rd party librerie e componenti in progetti di produzione, sono rigorosi utilizzando solo le versioni rilasciate di detto librerie?

Quando si considera l'utilizzo di un pre-release o una versione beta di una libreria (in dev?in produzione, in determinate circostanze)?

Se trovi un bug o difetto della biblioteca e sei già impegnato nel suo utilizzo, è possibile applicare una patch per la libreria o creare una soluzione in codice?

È stato utile?

Soluzione

Io sono un grande fan di non codifica qualcosa d'altro quando qualcuno ha una versione che non ho potuto codice in un ragionevole lasso di tempo, o richiederebbe me di diventare un esperto in qualcosa che non importa a lungo termine.

Ci sono diversi componenti open source e biblioteche che ho utilizzato nel nostro ambiente di produzione come Quartz.NET, Log4Net, nLog, SharpFTPLibrary (pesantemente modificato) e più.Quartz.NET era in beta quando ho rilasciato un'applicazione che utilizza in produzione.Era molto stabile e beta e ho avuto il codice sorgente in modo che ho potuto eseguire il debug di un problema e non sono stati pochi.Quando ho incontrato un bug o un errore vorrei risolvere il problema e post il problema del bug tracker o di un autore.Mi sento molto confortevole utilizzando un prodotto beta, se la sorgente è disponibile per il debug di eventuali problemi o c'è un forte seguito di sviluppatori di costruire eventuali problemi.

Altri suggerimenti

Io ho usato la beta librerie in progetti commerciali prima, ma soprattutto durante lo sviluppo e quando il venditore è probabile che la versione finale prima di completare il prodotto.

Per esempio, ho sviluppato una piccola applicazione desktop utilizzando Visual Studio 2005 Beta 2, perché sapevo che la versione RTM sarà disponibile prima del rilascio finale della mia app.Anche io ho usato una versione beta di FirebirdSQL ADO.NET Driver durante lo sviluppo di un altro progetto.

Per i bug che cerco di postare completo segnalazioni di bug ogni volta che c'è un modo per riprodurla, ma la maggior parte del tempo si deve trovare una soluzione per rilasciare l'applicazione al più presto.

  • Sì.Se non c'è una funzionalità di cui abbiamo realmente bisogno di una versione beta.
  • Non c'è nessun punto utilizzando una versione beta in dev se non si è certi che si userà in produzione.Che sembra proprio come uno spreco di esercizio
  • Io uso la patch.Perché scrivere codice per qualcosa che hai pagato?

Non c'è nessun punto utilizzando una versione beta in dev se non si è certi che si userà in produzione.Che sembra proprio come uno spreco di esercizio

Buon punto, mi stava prendendo in considerazione lo scenario di valutazione della pre-release versione dev, ma ho supposto che intacca il dev -> test/qa -> prod percorso.

Io uso la patch.Perché scrivere codice per qualcosa che hai pagato?

Che cosa se non è una libreria commerciale, ma uno open source?Che cosa succede se la patch da applicare non è il rilascio di entità (ad es.proprio patch)?

Io uso:

  • Infragistics (.NET WinForms controlli)
  • LeadTools (acquisizione video)
  • Xtreme ToolkitPro MFC (controlli)
  • Nazionale Strumenti di Misurazione Studio (computational biblioteche, complotto, e DAQ)

Ho trovato bug significativi in ogni uno di questi, quindi cerco di limitare il loro utilizzo, per quanto possibile.Infragisitcs è abbastanza buono per quello che è, e di National Instruments è di gran lunga il migliore, anche se molto limitato.Vorrei evitare di LeadTools a tutti i costi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top