2010-08-19 3 views
0

나는 nearforums (http://nearforums.codeplex.com/)라고하는 오픈 소스 포럼 엔진을 개발했으며 출시 이름을 지정하는 방법에 대한 조언을 원했습니다.소프트웨어 릴리스에 대한 조언 버전 관리 스타일을 찾고

지금까지는 릴리스가 release1, release2 등으로 명명되었지만 다음 며칠간은 새로운 릴리스를 만들 예정이며 릴리스 N을 따르는 것이 좋습니다.

시장을 따르겠습니까. 미성년자 버전 스타일? 첫 번째 "시장. 마이너"와 현재를 선택하는 방법? 버그 수정 + 릴리스를 처리하는 방법?

"큰"기능이 거의 개발되지 않을 때마다 계속해서 릴리스 할 예정입니다.

귀하의 조언에 감사드립니다.

+0

나는 (최선의 충고를 표시합니다 (흠. 난 그냥 하나의 개발자입니다, 그리고 내가 지금 당신에게 최소 6 선택을 준 것 같아요. 아 글쎄, 그 중 하나가 당신을 위해 일하는 희망) 나를 위해) 대답으로. – jorgebg

+0

@jorgebg이 질문을 주관적인 질문으로 자동 표시했습니다. –

+0

맞습니다. 질문을 커뮤니티 위키로 변경했습니다. – jorgebg

답변

3

5 명의 개발자에게 질문하면 버전 번호 지정에 대해 6 가지 제안을받을 수 있습니다.

어떤 버전 관리 시스템을 선택하든 반드시 특정 지침을 따라야합니다. 대부분의 패키지 관리 시스템은 최신 버전인지 알아낼 수 있기를 원하므로 버전 번호 시스템이 항상 우선 순위가 높아야합니다. 첫 번째 숫자는 우선 순위가 높고 두 번째 숫자는 두 번째로 높습니다. 예를 들어, 릴리스 3에서 이제 XY 시스템을 사용하기로 결정한 경우 1.4 버전으로 회귀해서는 안됩니다. 3.1 또는 4.0부터 시작해야합니다. 대부분의 패키지 관리 시스템은 버전 번호가 퇴행하는 이런 경우를 수정하기위한 신기원의 개념을 가지고 있지만 그 것에 의존해서는 안됩니다.

일반적으로 버전 번호는 점으로 구분 된 숫자로 구성되어야하며 숫자가 순서대로 늘어납니다 (따라서 1, 2, 3, ..., 9, 10, 11 ..., 정렬 된 사전 식 순서가 아님). 1, 10, 11, 2, 3, ...).

일부 사용자는 major.minor.patch 시스템을 사용합니다. major.minor.patch 시스템을 사용하는 사람이 있습니다. major.minor.patch 시스템을 사용하는 경우, 이전 버전과 호환되지 않는 변경 사항이나 주요 새로운 기능, 이전 버전과의 호환을 위해 부 번호가 증가하거나 새로운 기능이 추가되고 패치가 변경됩니다 새로운 기능을 도입하지 않는 하위 호환 버그 픽스에만 해당됩니다.

다른 사람은 우분투와 같은 시스템을 사용하고 싶습니다. year.month 또는 year.release (패치 또는 버그 수정, 또는 year.month.day의 세 번째 숫자도 가능). 이는 "주요"기능을 구성하는 것을 결정하지 않아도되고, 사람들에게 임의의 "7"또는 "23"보다 더 기억에 남는 숫자를 줄 수 있습니다. 이것은 당신이하고있는 일에 따라 다르지만 관련성이 낮을 수는 있지만 (이전 버전과의 호환성을 유지하고 있거나 Linux와 같은 번호를 매기는 경우) 사용자가 이전 버전과 호환되지 않는 변경을 할 때 사용자에게 알려주지 않는 단점이 있습니다 많은 부분을 포함하고있는 배포판 (일부는 하위 호환 가능하고 어떤 버전은 호환되지 않을 수도 있습니다)은 버전간에 하위 호환성을 보장하지 않습니다.

역 호환성에 대한 강한 견해를 갖고 싶다면 Semantic Versioning에 제시된 지침에 따라 major.minor.patch 시스템을 사용하는 것이 좋습니다. 이 지침에서는 이전 버전과의 호환성을 위해 주요 버전을 증가시킵니다. 새로운 기능을 추가 할 수있는 이전 버전과의 호환성을 위해 마이너 버전을 증가시킵니다 (따라서 누군가가 2.3.0보다 큰 버전을 사용하게 될 수도 있습니다. 새 기능이 추가 된 버전이기 때문에 3.0.0 미만입니다. 호환되지 않는 변경). 버그 수정에 대해서만 패치 레벨을 증가시킵니다. 현재 릴리스 3을 사용중인 경우 4.0.0에서 다음 릴리스를 시작한 다음이 모델을 지금부터 따르십시오.

호환성을 보장하고 하위 호환성 및 호환되지 않는 작업을 결정하지 않으려면 year.month, year.month로 이동하십시오.버전 또는 year.version. 여기서 버전은 해당 월 또는 연도의 각 릴리스에 대해 1 씩 증가합니다 (릴리스 빈도에 따라 다름). 따라서 다음 버전은 정확한 형식에 따라 2010.1, 2010.8.1 또는 2010.8과 같은 형식이 될 수 있습니다 (또는 10.1, 10.8.1 등과 같이 사용할 수도 있음).

+0

멋진 답변을 보내 주셔서 감사합니다! X 시스템으로 갈 생각입니다. – jorgebg

관련 문제