Frage

Sind Sie bei der Verwendung von Bibliotheken/Komponenten von Drittanbietern in Produktionsprojekten streng darauf bedacht, nur veröffentlichte Versionen dieser Bibliotheken zu verwenden?

Wann erwägen Sie die Verwendung einer Vorabversion oder Betaversion einer Bibliothek (in Dev?in der Produktion unter bestimmten Umständen)?

Wenn Sie auf einen Fehler oder Mangel der Bibliothek stoßen und sich bereits dazu entschlossen haben, sie zu verwenden, wenden Sie dann einen Patch auf die Bibliothek an oder erstellen Sie eine Problemumgehung in Ihrem Code?

War es hilfreich?

Lösung

Ich bin ein großer Fan davon, etwas nicht zu programmieren, wenn jemand anderes eine Version hat, die ich nicht in angemessener Zeit programmieren könnte oder die erfordern würde, dass ich ein Experte für etwas werde, das auf lange Sicht keine Rolle spielt.

Es gibt mehrere Open-Source-Komponenten und Bibliotheken, die ich in unserer Produktionsumgebung verwendet habe, wie z. B. Quartz.NET, Log4Net, nLog, SharpFTPLibrary (stark modifiziert) und mehr.Quartz.NET befand sich in der Betaphase, als ich zum ersten Mal eine Anwendung, die es nutzte, in die Produktion brachte.Es war eine sehr stabile Beta und ich hatte den Quellcode, damit ich ein Problem beheben konnte, und es gab ein paar.Wenn ich auf einen Bug oder Fehler stieß, behebe ich ihn und poste das Problem an den Bug-Tracker oder Autor.Ich fühle mich bei der Verwendung eines Beta-Produkts sehr wohl, wenn mir die Quelle zum Debuggen von Problemen zur Verfügung steht oder es eine große Anhängerschaft von Entwicklern gibt, die Probleme beheben.

Andere Tipps

Ich habe Beta-Bibliotheken schon früher in kommerziellen Projekten verwendet, aber hauptsächlich während der Entwicklung und wenn der Anbieter voraussichtlich eine endgültige Version veröffentlichen wird, bevor ich das Produkt fertigstelle.

Ich habe beispielsweise eine kleine Desktop-Anwendung mit Visual Studio 2005 Beta 2 entwickelt, weil ich wusste, dass die RTM-Version vor der endgültigen Veröffentlichung meiner App verfügbar sein würde.Außerdem habe ich während der Entwicklung eines anderen Projekts eine Betaversion des FirebirdSQL ADO.NET-Treibers verwendet.

Bei Fehlern versuche ich, vollständige Fehlerberichte zu veröffentlichen, wann immer es eine Möglichkeit gibt, sie zu reproduzieren, aber meistens muss man einen Workaround finden, um die Anwendung so schnell wie möglich freizugeben.

  • Ja.Es sei denn, es gibt eine Funktion, die wir wirklich in einer Betaversion benötigen.
  • Es macht keinen Sinn, eine Betaversion in der Entwicklung zu verwenden, wenn Sie nicht sicher sind, ob Sie sie in der Produktion verwenden werden.Das scheint einfach eine vergebliche Übung zu sein
  • Ich werde den Patch verwenden.Warum Code für etwas schreiben, für das Sie bezahlt haben?

Es macht keinen Sinn, eine Betaversion in der Entwicklung zu verwenden, wenn Sie nicht sicher sind, ob Sie sie in der Produktion verwenden werden.Das scheint einfach eine vergebliche Übung zu sein

Guter Punkt, ich habe auch über das Szenario der Evaluierung der Vorabversion in dev nachgedacht, aber ich nahm an, dass dies den Pfad dev -> test/qa -> prod beeinträchtigt.

Ich werde den Patch verwenden.Warum Code für etwas schreiben, für das Sie bezahlt haben?

Was ist, wenn es sich nicht um eine kommerzielle Bibliothek, sondern um eine Open-Source-Bibliothek handelt?Was passiert, wenn der anzuwendende Patch nicht von der veröffentlichenden Entität stammt (z. B.Dein eigener Patch)?

Ich benutze:

  • Infragistics (.NET WinForms-Steuerelemente)
  • LeadTools (Videoaufnahme)
  • Xtreme ToolkitPro (MFC-Steuerelemente)
  • National Instruments Measurement Studio (Computerbibliotheken, Darstellung und DAQ)

Ich habe in jedem einzelnen davon erhebliche Fehler gefunden, daher versuche ich, deren Verwendung so weit wie möglich einzuschränken.Infragisitcs ist ziemlich gut für das, was es ist, und National Instruments ist bei weitem das Beste, wenn auch recht begrenzt.Ich würde LeadTools um jeden Preis meiden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top