Сведения о вопросе

FromRussia

21:14, 7th August, 2020

Теги

Использование сторонних библиотек / компонентов в производстве

Просмотров: 339   Ответов: 5

При использовании сторонних библиотек / компонентов в производственных проектах вы строго относитесь к использованию только выпущенных версий указанных библиотек?

Когда вы планируете использовать предварительную или бета-версию библиотеки (в dev? в производстве, при определенных обстоятельствах)?

Если вы столкнулись с ошибкой или недостатком библиотеки, и вы уже решили ее использовать, вы применяете исправление к библиотеке или создаете обходной путь в своем коде?



  Сведения об ответе

lool

14:24, 10th August, 2020

Я большой поклонник того, чтобы не кодировать что-то, когда у кого-то есть версия, которую я не мог бы кодировать в разумное время или потребовал бы, чтобы я стал экспертом по чему-то, что не имело бы значения в долгосрочной перспективе.

Есть несколько компонентов с открытым исходным кодом и библиотек, которые я использовал в нашей производственной среде, таких как Quartz.NET, Log4Net, nLog, SharpFTPLibrary (сильно модифицированные) и многое другое. Quartz.NET был в бета-версии, когда я впервые выпустил приложение, использующее его в производстве. Это была очень стабильная бета-версия, и у меня был исходный код, поэтому я мог отладить проблему, и их было несколько. Когда я сталкивался с ошибкой или ошибкой, я исправлял ее и отправлял проблему в трекер ошибок или автору. Я чувствую себя очень комфортно, используя бета-продукт, если источник доступен для меня, чтобы отладить любые проблемы или есть сильное следование разработчиков, выбивающих любые проблемы.


  Сведения об ответе

#hash

21:06, 1st October, 2020

Я использовал бета-библиотеки в коммерческих проектах раньше, но в основном во время разработки и когда поставщик, вероятно, выпустит окончательную версию, прежде чем я закончу продукт.

Например, я разработал небольшое настольное приложение с использованием Visual Studio 2005 Beta 2, поскольку знал, что версия RTM будет доступна до окончательного выпуска моего приложения. Также я использовал бета-версию драйвера FirebirdSQL ADO.NET во время разработки другого проекта.

Для ошибок я стараюсь публиковать полные отчеты об ошибках всякий раз, когда есть способ воспроизвести его, но большую часть времени вам нужно найти обходной путь, чтобы освободить приложение ASAP.


  Сведения об ответе

prince

17:10, 18th August, 2020

  • Да. Если нет функции, которая нам действительно нужна в бета-версии.
  • Нет смысла использовать бета-версию в dev, если вы не уверены, что будете использовать ее в производстве. Это просто кажется бесполезным упражнением
  • Я воспользуюсь пластырем. Зачем писать код для того, за что вы заплатили?


  Сведения об ответе

KOMP

13:38, 11th August, 2020

Нет смысла использовать бета-версию в dev, если вы не уверены, что будете использовать ее в производстве. Это просто кажется бесполезным упражнением

Хороший момент, я также рассматривал сценарий оценки предварительной версии в dev, но я предположил, что это портит путь dev -> test/qa -> prod.

Я воспользуюсь пластырем. Зачем писать код для того, за что вы заплатили?

Что, если это не коммерческая библиотека, а библиотека с открытым исходным кодом? Что делать, если патч, который будет применен, не от освобождающего объекта (например, ваш собственный патч)?


  Сведения об ответе

baggs

22:40, 19th August, 2020

Я использую:

  • Infragistics (.NET WinForms элементы управления)
  • LeadTools (захват видео)
  • Xtreme ToolkitPro (MFC управления)
  • National Instruments Measurement Studio (вычислительные библиотеки, построение графиков и DAQ)

Я нашел значительные ошибки в каждом из них, поэтому я стараюсь максимально ограничить их использование. Infragisitcs довольно хорош для того, что он есть, и National Instruments, безусловно, лучший, хотя и довольно ограниченный. Я бы избегал LeadTools любой ценой.


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться