Зробіть внесок.
У цьому розділі наведено інструкції для розробників, які вносять зміни безп осередньо до Neat Library. Тут пояснюється, як організовано репозиторій, як створювати та тестувати зміни, а також які інтерфейси мають залишатися стабільними для розробників застосунків.
Neat Library — це бібліотека C++/Python і середовище виконання, що міститься в цьому репозиторії. Вона завантажує архіви моделей, створює та виконує перевірку конвеєрів, працює на апаратному забезпеченні Modalix і надає загальнодоступний API для програм. Neat SDK і DevKit Sync є частиною навколишнього процесу розробки.
Під час внесення змін до цього репозиторію оптимізуйте його для властивостей фреймворку, які полегшують розробку як для людей, так і для систем, що використовують штучний інтелект: чіткі API, детермінована поведінка, структурована діагностика, сувора перевірка та стабільні загальнодоступні інтерфейси.
- Детермінованість перемагає — забезпечте відтворюваність назв елементів, згенерованих конвеєрів, звітів і тестів.
- Зручність налагодження є пріоритетною — у разі виникнення помилок п овинні генеруватися структуровані дані, а не лише текстові рядки.
- Не приховуйте помилки — не маскуйте помилки вхідних даних моделі або збої апаратного забезпечення/середовища виконання.
- Перевіряйте перед запуском — виявляйте структурні помилки, помилки у великих літерах, помилки у формі та помилки в умовах контракту до початку роботи в середовищі виконання.
- Публічні API залишаються стабільними — встановлені заголовні файли в каталозі
include/*вимагають поступових змін, що забезпечують сумісність. - Паралельність має бути обмеженою та відстежуваною — процес завершення не повинен призводити до зависання, а діагностичні інструменти повинні бути безпечними для використання в багатопотоковому середовищі.
Почніть тут.
Перш ніж змінювати код, ознайомтеся зі структурою репозиторію, правилами іменування та вимогами.
- АрхітектураВивчіть структуру репозиторію, розподіл відповідальності за модулі, логіку роботи в середовищі виконання та точки розширення.
- Найменування договоруПослідовно використовуйте стандартні назви продуктів, API, пакетів і типів.
- Стандарт кодуванняДотримуйтеся вимог щодо стилю коду C++, публічного API, сумісності та документації.
Створення та тестування
Створіть структуру, перевірте внесені зміни та попрацюйте над Python-зв’язками.
Контракти та внутрішні процеси
Використовуйте їх під час зміни архівів моделей, контрактів плагінів або внутрішніх пакетів.
- Контракт MPKЗрозумійте правила щодо завантаження, перевірки та безпеки даних в архіві моделі.
- Плагін «JSON Truth Map»Перегляньте заморожену JSON-схему контракту для плагіна SIMA.
- Складна упаковка застосунків.Створіть і встановіть пакет служб для захищеного комплексного робочого середовища застосунку.
Випуск і технічне обслуговування
Використовуйте їх для визначення етапів випуску, розробки планів з усунення проблем і надання довгострокових рекомендацій щодо проєктування.
- Перелік завдань перед випускомДотримуйтеся умов, що блокують випуск, необхідних перевірок і відтворюваних кроків.
- Впровадження класифікації помилокВідстежуйте процес структурованої міграції кодів помилок і перевіряйте статус їхньої перевірки.
- Організований робочий процесДізнайтеся, чому структура API розроблена з урахуванням можливостей розробки як людьми, так і за допомогою штучного інтелекту.