Повысьте качество своих проектов на Python и подготовьте их к производству

Python - один из наиболее часто используемых языков программирования в настоящее время. Его очень просто настроить, его синтаксис довольно удобен для пользователя по сравнению с Java, и в нем есть много встроенных модулей, которые могут помочь в создании алгоритмов машинного обучения.

С помощью Python очень легко создать что-то, что работает. Но иногда переход проекта Python к следующему этапу - и превращение его в нечто большее, чем простой скрипт - может оказаться очень сложной задачей, если не следовать некоторым передовым методикам. Вот шесть способов улучшить ваш скрипт Python и сделать его готовым к эксплуатации проектом!

1. Ведение журнала

Ведение журнала - одна из тех вещей, которые разработчики обычно не делают при разработке нового проекта, потому что считают это пустой тратой времени. На самом деле, наличие хорошей стратегии ведения журнала не только значительно улучшает ваш код, но может помочь вам сэкономить много времени. К тому же это очень просто реализовать!

Итак, вместо использования print () давайте использовать журнал модуля Python по умолчанию.

import logging
FORMAT = '%(asctime)-15s- %(levelname)s - %(name)s -%(message)s'
logging.basicConfig(format=FORMAT, level=logging.DEBUG)
logger = logging.getLogger(__name__)
logger.info("Hello world!");

С этими двумя строками у вас уже есть красиво напечатанный и крутой журнал.

2. Используйте if __name__ == «main»

Каждый модуль python имеет свое свойство __name__, и если оно является «основным», это означает, что этот скрипт запускается пользователем как отдельная программа.

Если он запускается в качестве основного сценария, вы можете захотеть выполнить некоторые конкретные действия, например, проанализировать аргументы в приглашении пользователя или использовать определенные параметры.

Если вместо этого он импортируется как модуль, вы можете захотеть выполнить другие действия. Поэтому это важно для повторного использования кода и разделения.

3. Виртуальная среда Python - ваш друг

Есть разные причины, по которым вы хотите использовать виртуальные среды.

Если вы работаете с разными проектами и вам нужно использовать один и тот же модуль, но с другой версией (это всегда происходит при веб-разработке), то обязательно наличие среды Python.

Другая причина - обратная совместимость. Представьте, что вы хотите обновить свой проект в TensorFlow 1 до TensorFlow 2, но вы хотите быть уверены, что все по-прежнему работает так же. Вы можете создать новую ветку git с новой средой, в которой вы используете TensorFlow2, и посмотреть, дает ли выполнение того же кода тот же результат.

Последняя причина - сотрудничество и развертывание. В какой-то момент вы будете работать с кем-то, кому нужно будет быстро настроить проект. Если у вас есть виртуальная среда, вы можете просто заморозить, какие модули вы используете, и новый член команды может просто настроить проект, запустив установку pip, например:

pip freeze > requirements.txt
pip install -r requirements

4. Используйте git

Это обязательно, если вы работаете в команде. Но даже если вы ни с кем не сотрудничаете, рекомендуется иметь удаленную папку для резервного копирования кода. Представьте, что кто-то украл ваш ноутбук, или жесткий диск внезапно перестает работать: по крайней мере, у вас есть все ваши проекты на git.

Еще одна веская причина заключается в том, что вы можете попробовать разные вещи, но при этом иметь возможность вернуться к стабильной версии.

Наконец, если вы уже настроили ветку git, если вы хотите развернуть свой код, вам понадобится только клон git.

5. Используйте файл конфигурации.

В какой-то момент, либо из-за того, что вам нужен внешний скрипт, либо из-за того, что вы храните данные, либо просто потому, что вы хотите, чтобы некоторые параметры можно было легко редактировать в файле, вам понадобится файл конфигурации.

Мне лично нравится использовать простой JSON, но если вы хотите добавить комментарии, например, YAML или файл python. Также доступны некоторые модули. В этой ветке переполнения стека вы можете найти множество предложений.

6. Автоматизированное тестирование

Готовность к продукту означает, что ваш код должен работать. Возможно, до сих пор вы просто тестировали свой код вручную: пора выполнить модульные тесты и тесты интеграции.

Опять же, есть разные средства запуска тестов, я использую стандартный модуль unittest, но также нос и pytest очень часто используются.

Заключение

Программирование на Python может быть очень увлекательным. Создать сценарий, запустить его и добиться чего-то несложно.

Но сделать его настоящим готовым к производству проектом без ведения журнала, разделения модулей, использования git, тестирования, использования среды Python или файла конфигурации может оказаться утомительным занятием.

Если вам понравился рассказ, не забудьте аплодировать! Если вы хотите видеть больше контента, просто подписывайтесь на меня на Medium!

использованная литература