Прежде всего, я разработчик на C ++ и столкнулся с новыми проблемами. Я должен создать архитектуру и рабочий процесс для большого проекта на Python.
Я должен убедиться, что разработчики не нарушают код при выполнении своей работы, и я должен знать, что при выпуске мы не нарушали совместимость API.
Я знаю и у меня много хороших практик, инструментов для разработки на C ++, но я совершенно заблудился в мире питонов.
Я действительно считаю, что не должен использовать парадигмы C ++ для разработки на Python, поскольку она определенно не разработана таким же образом.
В C ++ у нас есть компилятор (предупреждение / ошибка), который помогает нам найти некоторые проблемы. Я не говорю, что после компиляции он работает, но, по крайней мере, у нас есть API-совместимость. У нас также есть покрытие кода, статический анализ, несколько других способов, которые помогают нам исправить / узнать, что наш код имеет некоторое качество.
Мы используем объектно-ориентированную архитектуру и обзор кода. Оба работают с C ++ и python. Мы также используем модульные тесты (gtest на C ++, pytest для python). Но все они нуждаются в человеческих знаниях.
Существуют ли какие-либо инструменты, помогающие нам узнать, что мы предоставляем качественную базу кода? Насколько большой проект, как Numpy, Scipy, TensorFlow, может быть уверен, что их релизы хороши?
Есть несколько линтеров (pylinter), стиль кодирования PEP8, я также взглянул на компиляцию на python, но без особого успеха, но я действительно не знаю, что мне делать.
Если вы знаете некоторые хорошие способы работы и полезные инструменты, я весь в ушах.
Спасибо вам всем,