Phiên bản cập nhật thực sự có ý nghĩa gì?


18

Rất nhiều bản cập nhật phần mềm tuân theo sơ đồ của v0.1 đến v0.2 đến v2.6.5.6 . Những "cập nhật" này cho phần mềm thực sự có ý nghĩa gì? Có một tiêu chuẩn ngành nào luôn tuân theo hoặc các lập trình viên có thể tiếp tục nâng cấp # hoặc thêm số thập phân không?


12
@ S.Lott Vì tôi khá mới đối với lĩnh vực lập trình nên tôi không biết cụ thể. Đây là cách tốt nhất để hỏi rằng tôi có thể đưa ra.
James Mertz

9
@ S.Lott, cắt giảm lượng caffeine thưa ông, nó làm bạn khó chịu.
ocodo

2
@ S.Lott cứ thoải mái chỉnh sửa khi bạn thấy phù hợp để làm tốt hơn câu hỏi. Tôi cảm thấy rằng bạn biết những gì tôi đang tìm kiếm. Tuy nhiên, tôi cảm thấy rằng các câu trả lời được cung cấp đã rất tốt. Tôi cũng cảm thấy, đánh giá bằng cách tăng số phiếu trên bình luận trước đây của tôi, rằng tôi đã làm tốt nhất có thể và câu hỏi vẫn ổn. Tuy nhiên tôi hoan nghênh những lời chỉ trích, cũng như chỉnh sửa. Làm như bạn thấy phù hợp. Đối với tôi, tôi để nó một mình.
James Mertz

1
@ S.Lott Câu hỏi có vẻ khá rõ ràng đối với tôi. Tôi không nghĩ rằng việc liệt kê một tổ chức viết tiêu chuẩn cụ thể sẽ là một sự cải thiện đáng kể. Nếu bạn cảm thấy khác, hãy thoải mái chỉnh sửa. Bạn có đại diện cho nó.
Adam Lear

3
@ S.Lott: "Có tiêu chuẩn công nghiệp" là hoàn toàn tốt. Vâng, có tiêu chuẩn ngành! Không quan trọng ai viết chúng: KronoS muốn biết ý nghĩa của phiên bản, đó là lựa chọn của anh ấy để xác định chi tiết anh ấy đi như thế nào ... Có lẽ bạn nên đề cập rằng bạn nên xem xét câu hỏi? Chỉ cần nhấn vào các chi tiết không làm cho người dùng rõ ràng, nói với người dùng để xác định: từ không làm cho người dùng rõ ràng, nói với nó là vô nghĩa sau khi nhận xét đầu tiên của bạn không làm cho người dùng rõ ràng.
Tamara Wijsman

Câu trả lời:


16

Giống như Shaun đã nói, thực sự không có một tiêu chuẩn nào. Một số công ty có các thực tiễn phiên bản tốt hơn các công ty khác (Tôi đã giao dịch với các nhà cung cấp bỏ qua các số phiên bản chính và các công ty khác bị mắc kẹt trên cùng một số bản phát hành sau đó).

Phải nói rằng, nhà phát minh Gravatars và đồng sáng lập của GitHub ( Tom Preston-Werner ) đã viết một tài liệu cho ' Phiên bản ngữ nghĩa ' rất đáng để đọc.

Đây là ngoại lệ của phần giới thiệu:

Để giải quyết vấn đề này, tôi đề xuất một bộ quy tắc và yêu cầu đơn giản chỉ ra cách thức số lượng phiên bản được gán và tăng. Để hệ thống này hoạt động, trước tiên bạn cần khai báo API công khai. Điều này có thể bao gồm các tài liệu hoặc được thực thi bởi chính mã. Bất kể, điều quan trọng là API này phải rõ ràng và chính xác. Khi bạn xác định API công khai của mình, bạn giao tiếp các thay đổi với API với số gia cụ thể đến số phiên bản của bạn. Xem xét một định dạng phiên bản của XYZ (Major.Minor.Patch). Sửa lỗi không ảnh hưởng đến việc tăng API phiên bản vá lỗi, bổ sung / thay đổi API tương thích ngược làm tăng phiên bản nhỏ và thay đổi API không tương thích ngược làm tăng phiên bản chính.

Tôi gọi hệ thống này là "Phiên bản ngữ nghĩa." Theo sơ đồ này, số phiên bản và cách chúng thay đổi truyền đạt ý nghĩa về mã cơ bản và những gì đã được sửa đổi từ phiên bản này sang phiên bản tiếp theo.


7

Với 4 chữ số, nó thường là MajorV.MinorV.PatchNum.BuildNum, ít nhất là nơi tôi làm việc.

Cá nhân tôi thích sơ đồ phiên bản của Ubuntu - làm cho cuộc sống dễ dàng hơn nhiều.


Đề án của họ là gì? Tại sao bạn thích chúng?
James Mertz

3
Ubuntu 10.10 = Tháng 10 năm 2010, Ubuntu 10.04 = Tháng 4 năm 2010, Ubuntu 11.04 = Aprial 2011, Ubuntu 9.10 = Tháng 10 năm 2009, v.v ... Điều này được đề cập trong liên kết Wikipedia của Shaun.
Công việc

2
Điều tuyệt vời khi sử dụng ngày làm số phiên bản là - trừ khi xảy ra nghịch lý thời gian tồi tệ hơn - số phiên bản của bạn sẽ luôn theo đúng thứ tự. Đối với hầu hết chúng ta, việc nhớ ngày hôm nay là 2011.02.13 dễ dàng hơn là cố gắng tìm ra phiên bản mới của phiên bản mới.
jmort253

@ jmort245, Chính xác! Hệ thống nhân tạo khá lộn xộn. Các ngân hàng thất bại nghĩ rằng có 360, 362, 365, 366, v.v. trong một năm. Hệ thống phiên bản là một trong những sáng tạo ngu ngốc. Dấu thời gian không khiến chúng ta phải suy nghĩ, mặc dù 20050207 mất nhiều thời gian hơn để đọc và tìm ra hơn 502. Phần mềm nào được phát hành thường xuyên hơn một lần mỗi tháng?
Công việc

2
@job: Nhưng sử dụng các phiên bản cho phép bạn kết hợp các tính năng với các phiên bản chính hoặc phụ cụ thể. Vì vậy, nếu tôi có phiên bản 2, tôi biết rằng tôi có tính năng X trong khi phiên bản 1 không có phiên bản X.
Martin York

6

Phiên bản ngắn là không có tiêu chuẩn và các công ty làm bất cứ điều gì họ muốn. Về cơ bản, bạn càng có nhiều số, số lượng thay đổi mà mỗi số thể hiện càng nhỏ. Thông thường, bạn sẽ thấy ít nhất phiên bản xy, trong đó xa thay đổi trong x biểu thị các bản phát hành chính (bản nâng cao chính / tính năng) và y biểu thị các bản phát hành nhỏ (chỉnh sửa hoặc sửa lỗi đáng kể). Nhiều số thập phân sau hai thứ đó có thể có nghĩa là những thứ khác nhau trong nội bộ công ty mặc dù thường xoay quanh các bản dựng hoặc bản vá nội dung nhỏ thể hiện các bản sửa lỗi nhanh hơn và nhỏ hơn.

Wikipedia có một bài viết bao gồm điều này chi tiết hơn.


3

Mục đích của số phiên bản là cung cấp tài liệu tham khảo cho các báo cáo vấn đề. Yêu cầu duy nhất là mỗi bản phát hành có một số phiên bản duy nhất. Một số con số được thúc đẩy bởi tiếp thị - số nguyên lớn hơn dễ bán hơn và các số sức mạnh như 10 (chữ số La Mã X) thực sự hấp dẫn. Một số người sử dụng một số biến thể của phiên bản ngữ nghĩa:

MAJOR.MINOR.MICRO.BUILD

  • Gia số chính: thay đổi không tương thích hoặc thiết kế lại hoàn toàn giao diện người dùng
  • Gia số nhỏ: các tính năng mới được thêm vào, tương thích với các phiên bản trước trong cùng số phiên bản chính
  • Gia số vi mô: phát hành sửa lỗi
  • Số bản dựng: được tạo bởi trình biên dịch hoặc được kéo từ kiểm soát phiên bản

Nhiều nhóm bỏ số BUILD trong bản phát hành của họ. Nó thường chỉ hữu ích giữa các nhóm thử nghiệm và phát triển.

Một số nhóm thêm ngữ nghĩa bổ sung, chẳng hạn như số gia MINOR được đánh số lẻ là dành cho các bản dựng thử nghiệm và số gia MINOR được đánh số chẵn được dành cho các bản phát hành sản xuất ( nhân Linux sử dụng phương pháp này).

Điểm mấu chốt là không có tiêu chuẩn, ngoài các phiên bản mới hơn sử dụng số phiên bản cao hơn và mỗi số phiên bản là duy nhất.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.