문제

프로덕션 프로젝트에서 타사 라이브러리/구성 요소를 사용할 때 해당 라이브러리의 출시된 버전만 엄격하게 사용합니까?

언제 시험판이나 베타 버전의 라이브러리 사용을 고려하시나요(개발 단계에서?)특정 상황에서 생산 중)?

라이브러리의 버그나 단점을 발견하고 이미 사용하기로 결정한 경우 라이브러리에 패치를 적용하시겠습니까, 아니면 코드에 해결 방법을 만드십니까?

도움이 되었습니까?

해결책

나는 합리적인 시간 내에 코딩할 수 없는 버전이 있거나 장기적으로 중요하지 않은 것에 대해 전문가가 되어야 하는 버전이 다른 사람에게 있을 때 코딩하지 않는 것을 좋아합니다.

Quartz.NET, Log4Net, nLog, SharpFTPLibrary(대부분 수정됨) 등과 같이 제가 프로덕션 환경에서 사용한 여러 오픈 소스 구성 요소와 라이브러리가 있습니다.Quartz.NET을 사용하는 응용 프로그램을 프로덕션에 처음 출시했을 때 Quartz.NET은 베타 버전이었습니다.매우 안정적인 베타 버전이었고 소스 코드가 있어서 문제를 디버깅할 수 있었고 몇 가지 문제가 있었습니다.버그나 오류가 발생하면 이를 수정하고 버그 추적기나 작성자에게 문제를 게시했습니다.문제를 디버깅할 수 있는 소스가 있거나 문제를 해결하는 개발자가 많다면 베타 제품을 사용하는 것이 매우 편안합니다.

다른 팁

저는 이전에 상업용 프로젝트에서 베타 라이브러리를 사용해 본 적이 있지만 주로 개발 중에 그리고 제가 제품을 완성하기 전에 공급업체가 최종 버전을 출시할 가능성이 있을 때 사용했습니다.

예를 들어, 저는 Visual Studio 2005 Beta 2를 사용하여 작은 데스크톱 응용 프로그램을 개발했습니다. 왜냐하면 내 응용 프로그램이 최종 릴리스되기 전에 RTM 버전을 사용할 수 있을 것이라는 것을 알았기 때문입니다.또한 다른 프로젝트를 개발하는 동안 FirebirdSQL ADO.NET 드라이버 베타 버전을 사용했습니다.

버그의 경우 재현할 수 있는 방법이 있을 때마다 전체 버그 보고서를 게시하려고 노력하지만 대부분의 경우 최대한 빨리 애플리케이션을 출시하려면 해결 방법을 찾아야 합니다.

  • 예.베타 버전에 꼭 필요한 기능이 없다면 말이죠.
  • 프로덕션 환경에서 사용할 것인지 확실하지 않다면 개발 환경에서 베타 버전을 사용해도 소용이 없습니다.그건 낭비적인 운동인 것 같아
  • 패치를 사용하겠습니다.돈을 지불한 것에 대해 코드를 작성하는 이유는 무엇입니까?

프로덕션 환경에서 사용할 것인지 확실하지 않다면 개발 환경에서 베타 버전을 사용해도 소용이 없습니다.그건 낭비적인 운동인 것 같아

좋은 점은, dev에서 시험판 버전을 평가하는 시나리오도 고려하고 있었지만 그것이 dev -> test/qa -> prod 경로를 오염시킨다고 생각했습니다.

패치를 사용하겠습니다.돈을 지불한 것에 대해 코드를 작성하는 이유는 무엇입니까?

상업용 라이브러리가 아니고 오픈소스 라이브러리라면 어떨까요?적용할 패치가 출시 기관의 패치가 아닌 경우(예:자신만의 패치)?

나는 사용한다:

  • Infragistics(.NET WinForms 컨트롤)
  • LeadTools(비디오 캡처)
  • Xtreme ToolkitPro(MFC 컨트롤)
  • National Instruments Measurement Studio(계산 라이브러리, 플로팅 및 DAQ)

나는 이들 모두에서 심각한 버그를 발견했기 때문에 가능한 한 그 사용을 제한하려고 노력합니다.Infragisitcs는 그 자체로 매우 훌륭하며, National Instruments가 비록 제한적이긴 하지만 단연 최고입니다.나는 어떤 대가를 치르더라도 LeadTools를 피할 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top