많은 소프트웨어 업데이트는 v0.1 ~ v0.2 ~ v2.6.5.6 의 체계를 따릅니다 . 소프트웨어에 대한 이러한 "업데이트"는 실제로 무엇을 의미합니까? 업계 표준이 항상 준수됩니까? 아니면 프로그래머가 업데이트 번호를 올리거나 소수를 더 추가합니까?
많은 소프트웨어 업데이트는 v0.1 ~ v0.2 ~ v2.6.5.6 의 체계를 따릅니다 . 소프트웨어에 대한 이러한 "업데이트"는 실제로 무엇을 의미합니까? 업계 표준이 항상 준수됩니까? 아니면 프로그래머가 업데이트 번호를 올리거나 소수를 더 추가합니까?
답변:
Shaun이 말했듯이 실제로 표준은 없습니다. 어떤 회사는 다른 회사보다 더 나은 버전 관리 방법을 가지고 있습니다 (주요 버전 번호를 건너 뛰는 공급 업체와 여러 x 나중에 동일한 xy에 붙어있는 업체를 처리했습니다).
Gravatars의 발명가이자 GitHub의 공동 설립자 ( Tom Preston-Werner ) 는 읽을 가치가있는 ' Semantic Versioning '에 대한 문서를 작성했습니다 .
소개를 제외한 내용은 다음과 같습니다.
이 문제에 대한 해결책으로, 버전 번호를 지정하고 증가시키는 방법을 지시하는 간단한 규칙 및 요구 사항을 제안합니다. 이 시스템이 작동하려면 먼저 공개 API를 선언해야합니다. 이것은 문서로 구성되거나 코드 자체에 의해 시행 될 수 있습니다. 어쨌든이 API는 명확하고 정확해야합니다. 퍼블릭 API를 식별 한 후에는 버전 번호를 특정 단위로 변경하여 변경 사항을 전달합니다. XYZ (Major.Minor.Patch)의 버전 형식을 고려하십시오. API에 영향을 미치지 않는 버그 수정은 패치 버전을 증가시키고 이전 버전과 호환되는 API 추가 / 변경은 부 버전을 증가시키고 하위 버전과 호환되지 않는 API 변경은 주 버전을 증가시킵니다.
이 시스템을 "시맨틱 버전 관리"라고합니다. 이 체계에서 버전 번호와 변경 방법은 기본 코드와 한 버전에서 다음 버전으로 수정 된 내용에 대한 의미를 전달합니다.
4 자리 숫자는 일반적으로 MajorV.MinorV.PatchNum.BuildNum이며 적어도 내가 일하는 곳입니다.
나는 개인적으로 우분투의 버전 관리 체계를 선호합니다-인생을 훨씬 쉽게 만듭니다.
버전 번호의 목적은 문제 보고서에 대한 참조를 제공하는 것입니다. 유일한 요구 사항은 모든 릴리스에 고유 한 버전 번호가 있어야한다는 것입니다. 일부 숫자는 마케팅에 의해 결정됩니다. 더 큰 정수는 판매하기 쉬우 며 10과 같은 거듭 제곱 (로마 숫자 X)은 실제로 잘 들립니다. 어떤 사람들은 시맨틱 버저 닝의 변형을 사용합니다 :
주요 미사 마이크로 빌드
많은 그룹이 릴리스에서 빌드 번호를 삭제합니다. 일반적으로 테스트 그룹과 개발 그룹간에 만 유용합니다.
홀수 번호 MINOR 증분은 실험 빌드 용이고 짝수 번호 MINOR 증분은 프로덕션 릴리스에 대한 것과 같은 추가 의미론을 추가하는 그룹도 있습니다 ( Linux 커널 은이 방법을 사용함).
결론은 표준이 없으며 최신 버전 외에는 더 높은 버전 번호를 사용하며 각 버전 번호는 고유하다는 것입니다.