Инициализируйте новый локальный Git-репозиторий в папке проекта, используя команду git init .
Создайте файл .gitignore в корне проекта и добавьте в него стандартные шаблоны для Python, чтобы исключить системные и временные файлы, такие как pycache , .idea и другие. Для заполнения файла можете воспользоваться шаблоном.
Сделайте минимум три коммита в процессе разработки кода, фиксируя основные этапы создания вашего проекта. Например, первый коммит может быть фиксацией прогресса по прошлой домашке, второй — добавлением новых функций, третий — финальными изменениями и доработками.
В пакете src создайте новый модуль с именем widget . Этот модуль будет содержать функции для работы с новыми возможностями приложения.
В модуле widget создайте функцию mask_account_card, которая умеет обрабатывать информацию как о картах, так и о счетах.
Функция должна:
Принимать один аргумент — строку, содержащую тип и номер карты или счета. Аргументом может быть строка типа Visa Platinum 7000792289606361 , или Maestro 7000792289606361 , или Счет 73654108430135874305 . Разделять строку на 2 аргумента (отдельно имя, отдельно номер) нельзя!
Возвращать строку с замаскированным номером. Для карт и счетов используйте разные типы маскировки. Переиспользуйте уже существующие функции маскировки из вашего проекта, чтобы избежать дублирования кода.
В том же модуле создайте функцию get_date , которая принимает на вход строку с датой в формате "2024-03-11T02:26:18.671407" и возвращает строку с датой в формате "ДД.ММ.ГГГГ" ( "11.03.2024" ).
Продолжаем работу над виджетом банковских операций клиента. Выкладываем свой проект на GitHub и ведем разработку по GitFlow. Учитываем рекомендации PEP 8, продолжаем использовать линтеры и делаем атомарные коммиты.
Проект предназначен для работы с банковскими операциями. В частности, содержит функции для:
- фильтрации операций по статусу (
filter_by_state), - сортировки операций по дате (
sort_by_date).
Проект написан на Python и придерживается [GitFlow] для ведения разработки.
- Склонируйте репозиторий:
git clone https://github.com/AndreyStyuhin/SkyPro.git
Продолжаем работу над проектом. Тестирование своего кода — важная часть разработки. Тестирование позволяет не только убедиться, что в коде нет ошибок, но и продумать архитектуру своего решения.
Контекст Тестирование кода играет важную роль в разработке программного обеспечения. Оно не просто помогает обнаруживать ошибки и проблемы в коде до того, как продукт будет выпущен, но также способствует высокому качеству и надежности программных решений.
Причины, почему регулярное и систематическое тестирование так важно:
- Обеспечение качества и надежности. Тесты позволяют убедиться, что код работает так, как ожидалось, и выполняет все свои функции без ошибок. Это особенно важно для финансовых и коммерческих приложений, над которым мы работаем, где ошибки могут привести к серьезным финансовым потерям или ущербу для репутации.
- Повышение уверенности при внесении изменений. Автоматизированные тесты предоставляют инструмент безопасности, позволяя разработчикам вносить изменения в код без страха случайно что-то сломать. При добавлении нового функционала, просто запустив тесты, можно убедиться в том, что весь предыдущий функционал работает как должен. Это особенно важно в больших и сложных системах.
- Ускорение процесса разработки. Несмотря на то что написание тестов требует времени, оно на самом деле ускоряет разработку за счет снижения количества времени, затрачиваемого на отладку и исправление ошибок в будущем. Тесты также делают изменение и обновление кода более безопасными и предсказуемыми.
- Обеспечение совместимости и соответствия. Регулярное тестирование помогает гарантировать, что изменения в одной части системы не нарушают функциональности в других частях.
Таким образом, тестирование является неотъемлемой частью процесса разработки и помогают поддерживать высокий уровень качества вашего приложения
Запустить тесты можно командой:
pytest --cov=src --cov-report=html poetry run flake8 poetry run mypy