Тесты
Static Analytic

Линтеры
Для проверки кода на синтаксические ошибки используют линтеры.
Линтеры - это сервисы, проверяющие код на соответствие принятым правилам написания. В Python существует основной свод правил написания кода PEP8. Этот документ описывает соглашение о том, как писать код для языка python, включая стандартную библиотеку, входящую в состав python.

Ссылка на руководство PEP8

Основные правила написания кода:

  1. Стилистика кода
  2. Соглашение о наименовании объектов
  3. Рекомендации по программированию

Flake8 — инструмент, позволяющий просканировать код проекта и обнаружить в нем стилистические ошибки и нарушения различных соглашений с PEP8.

Данный инструмент легко внедряется в различные IDE/
плагина flake8
Также существуют различные плагины, которые помогают соблюдать стандарт написания кода. Их также рекомендуется установить и использовать:

flake8-congnitive-complexity - проверяет отсутствия большой вложенности
flake8-functions - сложность функции
flake8-import-order - порядок импортов
flake8-builtins - отсутствие переопределения системных имен
flake8-docstrings - написание docstring у функций
flake8-quotes - проверяет кавычки
flake8-commas - проверяет наличие запятых
flake8-blind-except - проверяет явное указание exceptions
flake8-class-attributes-order - соответствие определений переменных в классе
flake8-return - проверяет значения, возвращаемые функциями
flake8-annotations - проверяет указания аннотаций типов

рекомендации при написании кода для Python 3.6 и выше
1. Используйте аннотацию типов при написании кода - перейти на статью
2. Пишите Unit тесты перед написанием функций( ну или после).