SemanticVersioning.png

개요[편집 / 원본 편집]

버전을 관리하고 정의하는데 사용되는 방법중에 하나로, "Semantic Version"의 약자이다. 공식 홈페이지에서는 한국어로 "유의적 버전"이라고 한다.

평소 사용되고 있는 프로그램들의 대부분은 본 방식대로 사용되며, 직관적으로 구성되어 있어 버전을 한눈에 확인할 수 있다는 장점이 있다. 또한 버전을 통해 변경량을 짐작할 수 있으므로, 개발시 도입 여부를 확인하는 척도로 사용될 수 있다.즉, 버전을 보고 코드의 변화량을 짐작(예상)할 수 있는 체계이다.

구성[편집 / 원본 편집]

Semantic-versioning.svg

메이저 버전, 마이너 버전, 패치 버전으로 구성되어 있다.

메이저 버전[편집 / 원본 편집]

이전에 호환되지 않는 기능이나 API 등을 추가하는 경우에는 메이저 버전을 올린다. 파이썬을 예로 들 수 있는데, 파이썬2에서 작성한 코드를 파이썬3에서 실행하면 거의 대부분 정상적으로 작동하지 않는것이다. 따라서 메이저 버전이 올라간다면 그만큼 많이 변경되었다는 것이며, (특히 컴퓨터 언어에서는) 코드 작성을 다시해야 할 수도 있다는 뜻이다.

마이너 버전[편집 / 원본 편집]

이전과 호환되면서 기능 등을 추가한 것이 마이너 버전이다. 마이너 버전 간 코드는 호환이 되기에[1], 코드 작성시 부담이 적다. 다만 각주에도 설명했다시피 구버전-신버전 간 호환되지 않은 부분이 있을 수 있으므로 확인이 필요하다.

패치 버전[편집 / 원본 편집]

버그 수정시 버전이 올라가며, 패치 버전만 변경된 경우, 기존 코드를 수정할 필요는 없다.[2]

패치 버전 뒤에 하이픈(-)과 마침표(.)를 붙혀 세부적인 버전 표시가 가능하다. 예를 들어 버전이 2.3.7-beta.3인 경우, 2.3.7 버전보다는 낮은 버전[3]이라는 의미이다.

같이 보기[편집 / 원본 편집]

samver 공식 사이트

samver 공식 사이트(한국어)

각주[편집 / 원본 편집]

  1. 물론 신버전에서 작성한 코드를 구버전으로 실행하면 되지 않는 경우나, 구버전에서는 작동했지만 보안 등의 이유로 신버전에서는 작동하지 않는 경우도 있다.
  2. 극히 드물지만, 버그를 활용한 코드인 경우인 경우에는 해당 버그가 수정되었다면 코드를 수정해야한다.
  3. 2.3.7-beta.3 < 2.3.7
• 현재 페이지 URL 줄이기