Формальное и тестируемое определение API - PullRequest
2 голосов
/ 19 января 2011

Существует ли формальный независимый от языка язык для описания API?Я хочу определить служебную библиотеку, которая будет использоваться в ряде архитектур, и хотел бы каким-то образом программно проверить, что все функции API были реализованы, и, в идеале, запустить некоторые модульные тесты функций на разных платформах.

Например, я хочу написать .Net Assembly на C #, Windows DLL на C ++, библиотеку MacOS в Objective-C и общую библиотеку Linux на C ++.

Ответы [ 2 ]

2 голосов
/ 24 января 2011

Бережливость

Thrift - это инфраструктура удаленного вызова процедур (RPC), разработанная в Facebook для «разработки масштабируемых кросс-языковых услуг». Он объединяет программный стек с механизмом генерации кода для создания сервисов, которые работают эффективно и без проблем между C ++, C #, Java, Perl, Python, PHP, Erlang и Ruby. Несмотря на то, что он разработан в Facebook, в настоящее время он является проектом с открытым исходным кодом в инкубаторе Apache Software Foundation. Реализация описана в апрельском техническом документе, выпущенном Facebook, который теперь размещен на Apache .

.
1 голос
/ 24 января 2011

Вот хорошая ссылка: Язык описания интерфейса .

...