Знакомство с задачей

Практический проект: разработка программного обеспечения на Python

Mark Pedigo, PhD

Principal Data Scientist

Что такое кейс?

  • Применение навыков к реальной задаче
  • Необходимые курсы
    • Software Engineering Principles in Python
    • Intermediate Object-Oriented Programming in Python

Двое коллег на совещании обсуждают кейс

Практический проект: разработка программного обеспечения на Python

Сценарий кейса

Расчёт ипотеки для нового жилья

  • Кредитный специалист PyBank Financial
  • Написать программу для
    • Расчёта стоимости жилья
    • Расчёта ежемесячного платежа
  • Примечание: только в иллюстративных целях

loan_officer.jpg

Практический проект: разработка программного обеспечения на Python

План действий

  • Программа автоматизирует вычисления
  • Принципы разработки ПО на основе классов
  • Этапы
    • Базовый калькулятор
      • +, -, *, /, **
    • Финансовый калькулятор
      • Расчёт процентов и процентной ставки
    • Ипотечный калькулятор
      • Расчёт суммы кредита и выплат

Три калькулятора, расположенных по возрастанию размера

Практический проект: разработка программного обеспечения на Python

Наследование

Код используется повторно между классами

  • Дочерний класс (FinancialCalculator) наследует весь функционал родительского класса (BasicCalculator)
  • Дочерний класс может добавлять собственный функционал
class BasicCalculator:
    def multiply(self, x, y):
        result = x * y
        return result
  ...
# Child of BasicCalculator
class FinancialCalculator(BasicCalculator):
    def months_from_years(self, years):
        # Inherits the .multiply() method
        return self.multiply(years, 12)
    ...
Практический проект: разработка программного обеспечения на Python

Обзор принципов разработки ПО

  • Модульный, чистый, читаемый и эффективный код
    • Наследование, методы
  • Использование готовых библиотек, фреймворков, решений
    • Модификация существующего кода
    • Ускорение разработки
  • Чёткая документация, комментарии, руководства
    • Документация
  • Тестирование
    • doctest и модульное тестирование

Компьютер в окружении иконок, символизирующих разработку программного обеспечения

Практический проект: разработка программного обеспечения на Python

Дорожная карта

Дорожная карта с этапами проекта.

Практический проект: разработка программного обеспечения на Python

Начнём!

Практический проект: разработка программного обеспечения на Python

Preparing Video For Download...