2014-01-17 3 views
1

우리는 릴리스 될 API 집합을 가지고 있으며 향후에 다시 설계 될 가능성이 가장 높으며 사용자가 항상 최신 릴리스를 얻을 수 있도록 이전 버전과의 호환성을 위해 패키지 수준에서 버전 관리를 남겨 둘 것입니다 사용자가 특정 릴리스 버전을 고수하지 않으면 이전 버전과의 호환성이 항상 보장되지 않는 다른 라이브러리 버전을 릴리스하는 것보다 코드를 더 잘 분리하는 것에 대해 걱정하지 않아도됩니까?API 내에 버전을 남길 때의 장단점은 무엇입니까?

package MyClass.v1;을 가지며 MyClass에-VX.X-RELEASE.jar 해제 대향 그대로 LATEST.jar MyClass에 같은 라이브러리에서 MyClass.v1 유지시키면서 향후 package MyClass.v2; 제공 MyClass에-LATEST.jar ...

건배

답변

3

API에 버전 번호를 넣지 않겠습니다. 이전 버전과 호환되지 않는 버전을 릴리스하면 사용자는 업그레이드 할 필요가 없습니다. 그러나 릴리스를 버그 수정 버전과 같이 이전 버전과 호환 가능하게 만들면 사용자는 새로운 항아리에 떨어 뜨리지 않고 패키지 이름을 변경해야합니다.

빌드 관리 도구 (ant, maven, gradle 등)는 버전 관리에 사용됩니다. API 패키지 이름에서 그렇게 할 필요는 없습니다.

+0

고마워요,하지만 그건 내 뜻이 아니에요. 분명히 버그 수정이있을 것이며 동일한 API 내에 머무를 것입니다. 하지만 v1, v2, ...는 근본적으로 다릅니다. 물론 LATEST에는 이전 구버전에 대한 버그 수정이 포함되어 있습니다. – user1589188

+0

하지만 v1.1 또는 v1.2를 사용한다면 어떨까요? 두 경우 모두 패키지 이름에 API 버전을 넣으면 어떤 이점이 있다고 생각하십니까? –

+0

Humm, 번호 매기기는 사람들을 혼동시킬 수 있습니다. Let MyClass.lite; 그리고 나중에 MyClass.nextgen에 ... 그런 것 – user1589188