2011-08-12 6 views
4

Ninject 프로젝트는 Ninject Core 라이브러리와 확장 라이브러리의 로트 (~ 17 개)로 구성됩니다.핵심 라이브러리 및 확장 라이브러리의 버전 관리

현재 Ninject와 확장 라이브러리는 모두 Major.Minor 번호가 같습니다. Ninject 코어의 다음 릴리스는 이전 버전과 호환되므로 부 번호가 증가하면 올바른 작업이됩니다. 확장 라이브러리 중 적어도 하나는 이전 버전과 호환되지 않습니다. 이 경우 올바른 조치는 주 번호를 늘리는 것입니다. 그러나 이것은 핵심과 확장을 동기화되지 않게 할 것입니다.

질문은 당신이 가장 혼란이 발생할 수있는 최선을 고려 않는 옵션 :

  1. 올바르게 버전 번호는 이전 버전과 호환성과 단점 핵심이 그것을 반영하는 장점과 주요 수를 증가를 확장 프로그램이 동기화되지 않아 더 이상 일치하는 항목을 쉽게 알 수 없습니다.

  2. 내선 번호를 유지하고 부 번호 만 늘립니다. 숫자가 같고 일치하는 것을 쉽게 알 수 있다는 장점이 있습니다. 그러나 숫자가 역 호환성을 반영하지 않는다는 것이 단점입니다.

  3. 모든 주요 수치가 증가합니다. 숫자가 같은 장점이 있습니다. 그러나 코어와 몇 가지 확장 기능은 이전 버전과의 호환성이 있지만 주요 번호가 증가한다는 단점이 있습니다.

또는 다른 더 나은 옵션을 생각해 볼 수 있습니까?

+2

필자는 [programmers.se]가이 질문에 더 나은 곳이라고 생각하지만, 내 질문은 다음과 같습니다. 핵심 라이브러리의 버전 번호가 확장 버전 번호와 관련이 있다고 생각합니까? –

+0

해당 확장 라이브러리가 전혀 변경되지 않았습니까? 다음과 같이 : 확장 라이브러리의 코드가 전혀 변경되지 않았습니까? –

+0

확장은 일반적으로 최신 코어 버전 용으로 작성되었으며 일부 새 기능을 사용하므로 이전 기능과 함께 실행되지 않습니다. 반면에 이전 extenisons는 이전 버전과 호환되는 한 최신 코어 버전으로 실행해야합니다. –

답변

1

마지막 옵션을 사용하면 메이저 버전 번호가 증가한다는 것은 이전 버전과의 호환성이 명시 적으로 부러 졌다고 생각하지 않습니다. 제품의 버전 번호가 이전 버전과의 호환성을 파괴하지 않고 증가한 경우가 많이 있습니다. 예를 들어. NET에서 버전 번호가 1에서 4로 증가하여 거의 모든 버전에서 파손되지 않았습니다.

관련 문제