Участь у розробці модулів Weblate#
Окрім основного сховища, Weblate складається з декількох модулів Python. У всіх цих модулях використано однакову структуру, а ця документація стосується їх усіх.
Це, наприклад, стосується таки компонентів:
wlc, клієнтська бібліотека Python, див. Клієнт Weblate
translation-finder, використано для виявлення придатних до перекладу файлів у сховищі
language-data, визначення мови для Weblate, див. Визначення мов
Настанови щодо програмного коду#
Будь-який код для Weblate має бути написано із використанням Security by Design Principles (принципів безпеки за компонуванням).
Будь-який програмний код має супроводжуватися документацією, яка пояснює його роботу. Не забувайте документувати методи, складні блоки коду або видимі користувачам можливості.
У коді має бути використано підказки щодо типів з PEP 484. Ми ще не перевіряємо їх у системі неперервної інтеграції, оскільки у наявному коді їх ще немає.
Виконання перевірок#
Перевірки буде виконано за допомогою py.test. Спершу, вам слід встановити обов’язкові складники для текстування:
pip install -r requirements-test.txt
Далі, ви можете виконати комплекс перевірок для локальної копії сховища:
py.test
Дивись також
Інтеграція із системою неперервної інтеграції дуже подібна до Комплекс тестування Weblate і неперервна інтеграція.
Стандарт програмування та шліфування коду#
У коді має бути виконано вимоги щодо коду PEP-8, його має бути форматовано засобом форматування black.
Для перевірки якості коду ви можете скористатися програмою flake8. Перелік рекомендованих додатків можна знайти у .pre-commit-config.yaml
, а налаштування — у setup.cfg
.
Найпростішим підходом для запровадження примусового виконання усіх умов є встановлення репозиторію pre-commit. Weblate, у якому містяться налаштування для перевірки внесених файлів на відповідність умовам. Після встановлення репозиторію (його вже включено у requirements-lint.txt
) увімкніть його за допомогою команди pre-commit install
у клоні репозиторію Weblate. У такий спосіб ви зможете автоматично перевіряти усі внесені вами зміни.
Ви також можете запустити перевірку вручну. Щоб перевірити усі файли:
pre-commit run --all
Дивись також