2012-02-27 32 views
18

Tôi đang tìm hiểu về cách chỉ định và tăng số phiên bản với quy tắc được gọi là "Phiên bản ngữ nghĩa" từ http://semver.org/."api công khai" có nghĩa là gì trong Phiên bản ngữ nghĩa?

Trong số tất cả các quy tắc của nó, là thứ nhất nói:

Phần mềm sử dụng Versioning Semantic PHẢI khai báo một API công cộng. API này có thể được khai báo trong chính mã hoặc tồn tại nghiêm ngặt trong tài liệu. Tuy nhiên nó được thực hiện, nó phải là chính xác và toàn diện"

Tôi đang bối rối về 'API công cộng'. Nó tham khảo gì?

+0

Trang http://semver.org/ dường như giải thích bằng một vài từ ý nghĩa của nó. Hay đó là "API" hay khía cạnh "công khai" mà bạn không hiểu? Và câu hỏi của bạn có thể thuộc về http://programmers.stackexchange.com/ –

+1

@BasileStarynkevitch có vẻ như nó đã được trả lời ở đó: http://programmers.stackexchange.com/questions/255190/how-does-semantic-versioning- apply-to-programs-without-api – icc97

Trả lời

5

API công cộng đề cập đến 'điểm truy cập' mà bên ngoài thế giới (người dùng, các chương trình và/hoặc lập trình viên khác, vv) phải có phần mềm của bạn

Ví dụ: nếu bạn đang phát triển một thư viện, API công cộng là tập hợp tất cả các phương thức có thể được thực hiện cho thư viện của bạn .

Có sự hiểu biết rằng, trừ khi phiên bản chính thay đổi, API của bạn bị tương thích ngược, tức là tất cả các cuộc gọi hợp lệ trên phiên bản sẽ có hiệu lực trên phiên bản sau. Bạn có thể đọc tại điểm 9 của những quy tắc:

Major phiên bản X (X.y.z | X> 0) PHẢI được tăng lên nếu có thay đổi ngược không tương thích được giới thiệu với các API công cộng.

+2

Câu trả lời này chưa hoàn thành: API công cộng cũng đề cập đến tài liệu công khai cho thư viện đã nói. Hành vi được ghi lại cũng là thứ mà người ta phải dựa vào. – ereOn

1

Nó yêu cầu API công khai để áp dụng hiệu quả mẫu phiên bản của nó.

Ví dụ:

Sửa lỗi không ảnh hưởng đến các API tăng phiên bản vá

bổ sung API tương thích ngược/thay đổi tăng phiên bản nhỏ , và ...

ngược không tương thích API thay đổi tăng phiên bản chính.

gì đại diện API của bạn là chủ quan, vì họ thậm chí nhà nước trong doc SemVer:

này có thể bao gồm các tài liệu hoặc được thực thi bởi mã riêng của mình.

Các vấn đề liên quan