Что означает "public api" в семантической версии?
Я узнаю, как назначать и увеличивать номера версий с помощью правила, называемого "Семантическая версия", из http://semver.org/.
Среди всех своих правил первый сказал:
Программное обеспечение с использованием семантической версии MUST объявляет открытый API. Этот API может быть объявлен в самом коде или существует строго в документации. Однако это делается, оно должно быть точным и всеобъемлющим "
Я запутался в "публичном API". К чему это относится?
Ответы
Ответ 1
Открытый API относится к "точке доступа", которую внешний мир (пользователи, другие программы и/или программисты и т.д.) имеют к вашему программному обеспечению.
Например, если вы разрабатываете библиотеку, public API - это набор всех методов, которые могут быть внесены в вашу библиотеку.
Существует понимание того, что если основная версия не изменится, ваш API будет обратно совместимым, т.е. все вызовы, которые были действительны для версии, будут действительны в более поздней версии.
Вы можете прочитать в пункте 9 этих правил:
Основная версия X (X.y.z | X > 0) ДОЛЖНА увеличиваться, если какие-либо обратные несовместимые изменения вводятся в открытый API.
Ответ 2
Для эффективного применения шаблона управления версиями он требует публичного API.
Например:
Исправления ошибок, не влияющие на API, увеличивают версию патча
Добавляет/изменяет API обратной совместимости версии и...
Неверные изменения API в обратном порядке увеличивают основную версию.
Что представляет ваш API, является субъективным, поскольку они даже утверждают в документе SemVer:
Это может быть документация или быть введена в действие самим кодом.