2009-08-16 2 views
1

각 프로그램마다 고유 한 버전이 있습니다. 이 모든 프로그램은 라이브러리에 종속되어 있으며 자체 버전도 있습니다. 예 :라이브러리에 종속적 인 프로그램 버전 관리

Foo-1.0.3 
Bar-2.1.5 
Baz-1.3.4 

이들은 libfrobniz-1.4.5에 따라 다릅니다. 라이브러리의 대대적 인 개편 (많은 리팩토링 관련)이 필요합니다. 이것은 모든 것을 망칠 것임을 의미합니다 (Foo, Bar 및 Baz). 물론 이것은 주요한 역 호환이 불가능한 재 작업이기 때문에 라이브러리는 libfrobniz-2.0.0까지 부딪 힐 수 있습니다.

내 질문은 Foo Bar 및 Baz의 버전과 관련이 있습니다. libfrobniz-2.0.0을 사용하도록 업그레이드 하겠지만 기능은 변경하지 않습니다. 이 세 가지 프로그램의 새 버전은 이전 버전과 똑같이 사용할 수 있으며 따라서 완전히 호환됩니다. 그러나 그들은 libfrobniz의 완전히 다른 버전에 의존하게됩니다. 버전 번호 나 패치 레벨을 부딪 치기를 제안 하시겠습니까?

+0

거짓말은 아닙니다. 제안하는 게시물은 특정 버전의 스타일링에 대해 이야기합니다. 내 구체적인 문제를 염두에두고 일반적인 규칙을 요구하고 있습니다. –

+0

@Stafano : 좋아, 이것은 속는 사람일지도 모르지만 내가 올린 사람의 속보가 아닐 수도있다. –

+0

내 구체적인 문제에 대한 질문을 다시 작성했습니다. –

답변

1

종속성의 주 번호를 변경하면 최종 사용자의 주요 변경 사항임을 기억하십시오. 그것은 확실히 패치 레벨이 아니며, 당신이 아주 좋은 이유가 없다면 전공을 고수한다고 말할 수 있습니다.

+0

종속 라이브러리가 변경된 라이브러리에서 유형을 노출하는 경우 최종 사용자에게 중요한 변화가 될 것입니다. 아무 것도 노출되지 않았다면 어쩌면? –

+0

아니요, libfrobniz는 최종 사용자에게 노출되지 않습니다. –

+0

실제로 변경 사항은 리팩터링과 비슷합니다. 내부 (내부는 전체 라이브러리 임) 만 변경하지만 최종 소프트웨어 기능은 전혀 변경되거나 변경되지 않습니다. –

1

나는 Foo, Bar 및 Baz의 버전 번호를 동일하게 유지합니다. 이러한 사용자 직면 제품에 새로운 기능이나 버그 수정을 도입하지 않으므로 버전 번호를 부칠 필요가 없습니다. 또한 버전 번호를 범하기로 결정하면 사용자 혼란을 야기 할 수 있습니다. 사용자는 문서화 된 새로운 기능이나 버그 수정없이 제품에 새 버전의 버전 번호가있는 이유를 궁금해 할 수 있습니다.

세 개의 사용자 친화적 인 응용 프로그램 내에 제품이 libfrobniz에 의존하고 업그레이드되었음을 알리는 창/창을 가질 수 있습니다.

+0

다른 항아리의 경우 다른 버전 번호가 있어야합니다. 그렇지 않으면 버그보고를받을 때 버그를 재현 할 코드 스트림을 알 수 없습니다. – Tom

+0

사용자가 마주하는 버전 번호와 버전 번호를 구별하면 libfrobniz의 경우 잠재적 인 버그를 재현하는 데 사용할 코드 스트림을 알 수 있습니다. – zpesk

0

귀하의 비즈니스 및 기술 요구 사항에 따라 버전 체계가 달라질 수 있습니다.

일부 기업은 매년 "주요"업그레이드를 통해주의를 끌고 업그레이드를 위해 약간의 수입을 내고 있습니다. 소프트웨어 품질에 만족할 때까지 일부는 여전히 베타를 출시합니다.

자신의 구성표를 준비하고 고객에게 알려주십시오. 일반적으로 첫 글자는 주요 변경 사항에 대한 주요 버전 번호이며, 개선 사항은 물론 빌드 및 패치 번호입니다.

0

32 비트와 64 비트 버전의 라이브러리를 빌드하는 것과 같지 않습니까? 32bit는 32bit libs에 의존하고, 64bit는 64bit libs에 의존합니다. "이것은 전공 및 이전 버전과 호환되지 않는 재 작업이기 때문에, 물론"

고객 중 하나를 가져올 수있는 능력을했을 때 나는 시간을 기억

을 당신이

0

같은 뭔가를 사용하는 것이 규칙을 따르십시오 이전 버전과의 호환성이 복원 될 때까지 돈을 쓰지 않기 때문에 소프트웨어 공급 업체가 파산에 가까워 졌을 경우 소프트웨어 공급 업체는 이전 버전과의 호환성을 깨뜨릴 수있는 신경을 가지고있었습니다.

소프트웨어 공급 업체는 항상 인정했습니다.

오늘은 그들이 원하는대로 할 수있는 것처럼 보입니다. 모든 고객은 "1984"에서 가장 낮은 계층의 사람들처럼 조금씩 팔을 따라갈 것입니다.

하지만 아마도 지나치게 비관적입니다.자신을 하나의 고객이있는 곳

편집

누군가가 사건을 지적했다. 이 경우에는 "버전 관리"가 필요하지 않을 것으로 예상됩니다. 그러한 고객은 소프트웨어가 작동하고 정확히 하나의 단일 버전에만 관심이 있다는 단 한 가지 사실에 관심이 있습니다. 즉, 가장 최근의 사양에 해당하는 버전 일 것입니다.

+0

알다시피, 고객이 한 명인 경우가 있습니다. –

+1

귀하의 편집에 대한 응답으로. 그렇지 않아. 3 년 동안, 내가 다시 물건을 다시 계산해야한다면, 내가 그 결과를 내기 위해 사용한 소프트웨어의 버전을 알아야하기 때문에, 내가 사용하는 물건의 버전이 필요합니다. –